我正在使用 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/