php - 过滤特定列,如果匹配则获取记录

标签 php mysql laravel laravel-5

我正在使用 Laravel 5.2。如果匹配查询中的给定条件,如何过滤特定列?

例如我有一条记录

column[id] => '1', column[username] => 'id_45820', column[contents] => 'test', column[to] => 'admin,id_45820,user', column[created_at] => '', column[updated_at] => ''

我有 2 个变量作为标准

$role = 'user';
$username = 'id_45820';

现在我想使用“$role”和“$username”变量过滤“to”列,如果“$role”或“$username”或两者与“to”的内容匹配' 列(以逗号分隔)然后拉取该记录,这可能吗?

$q = notifications::where(function($query){
    //I just don't know how to do it. Help please?
})->get();

最佳答案

如果我没有正确理解您的问题,那么:

$role = 'user';
$username = 'id_45820';

$q = notifications::where(function($query) use($role, $username) {
    $query->where('to', 'like', "%{$role}%")
          ->orWhere('to', 'like', "%{$username}%");
})->get();

正如您所说,您想检查其中一个或两个是否存在,那么您只需要检查其中一个是否存在。

希望这对您有所帮助!

关于php - 过滤特定列,如果匹配则获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40233584/

相关文章:

php - 为什么我在 View 中的显示 Controller 数组中出现错误 undefined variable ?

php - Yii 在模型中使用关系连接两个表

php - php 函数 dl() 的任何替代方法

php - 如何从一个 pdoQuery 中的两个相关表和一个不相关表获取多重计数?

php - file_get_contents 相当于 gzip 文件

php - 使用 id 作为引用的数组连接

php - 如何找到随机选择的图像的表名

validation - Laravel:验证器仅验证传递数据中存在的字段?

laravel - vue-owl-carousel 不能处理动态数据

php - 给定的角色或权限应使用防护 `web, api` 而不是 `admin`