首页 > 解决方案 > 如何在Mysql查询中通过PHP对加密数据进行排序

问题描述

我已经使用 PHP(Laravel)加密字符串将信息存储在 MySQL 表中,现在我可以如何使用 Laravel 中的 MySQL 查询对其进行排序。

前任。名字使用 PHP 加密字符串存储在数据库中,现在我在获取记录数时对数据库中的名字进行排序。

标签: phpmysqllaravelencryptioneloquent

解决方案


使用eloquent 的访问器功能。

例子:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Crypt;

class User extends Model
{
    /**
     * Get the user's first name.
     *
     * @param  string  $value
     * @return string
     */
    public function getFirstNameAttribute($value)
    {
        return Crypt::decryptString($value);
    }
}

然后您可以使用集合的排序轻松排序。

例子:

User::all()->sortBy('first_name');

推荐阅读