Vuk*_*vić 2 mysql laravel eloquent
我正在尝试在Eloquent查询中执行IN语句.我试过这个:
$id = urldecode($id);
$news = News::whereHas('newsCategories', function($q) use($id)
{
$q->where('category_id', 'IN', '('.$id.')')->orderBy('created_at', 'desc');
})->get();
Run Code Online (Sandbox Code Playgroud)
但我得到空洞的结果.
当我转IN了=,并通过数字而不是阵列我得到的结果.我做错什么了吗?
这样可行:
$id = 2;
$news = News::whereHas('newsCategories', function($q) use($id)
{
$q->where('category_id', '=', $id)->orderBy('created_at', 'desc');
})->get();
Run Code Online (Sandbox Code Playgroud)
您想要whereIn检查您的ID数组...
$news = News::whereHas('newsCategories', function($q) use($array_of_ids)
{
$q->whereIn('category_id', $array_of_ids)
->orderBy('created_at', 'desc');
})->get();
Run Code Online (Sandbox Code Playgroud)
只要确保你传递的是真正的数组:)
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |