【发布时间】:2022-01-21 02:29:27
【问题描述】:
我有一个需要进一步过滤的数据库查询。 id 需要匹配我拥有的数组中的数字。出于某种原因,我可以使用除 id 之外的每一列来选择 where。即使像$query->where('users.id', 1); 这样简单的东西也不起作用。如何通过 id 执行数据库查询?
$portfolio_query_array = UserPortfolio::all()->pluck('user_id')
$query = DB::table('users');
$query->select('users.id as user_id','users.user_slug', 'users.social_id', 'users.social_img_update_status', 'users.avatar', 'users.first_name', 'users.last_name', 'users.bio', 'comments.rating', 'user_portfolios.title', 'user_portfolios.description', 'user_portfolios.filepath');
$query->leftjoin('comments', 'comments.comment_to', '=', 'users.id');
$query->leftjoin('user_portfolios', 'user_portfolios.user_id', '=', 'users.id');
$query->leftjoin('user_profile_category_selects', 'user_profile_category_selects.user_id', '=', 'users.id');
$query->where('users.status', 1);
$query->where('users.user_type', 3);
// The below simple query line doesn't work
$query->where('users.id', 1);
// The lines I do want to work also fail.
foreach ($portfolio_query_array as $user_id){
$query = $query + $query->where('users.id', $user_id);
}
感谢您的帮助!
【问题讨论】:
-
那么你需要从除id之外的所有列中搜索数据吗?
-
您应该查看
whereIn方法,您可以将user_ids 列表传递给... 旁注:您可以在构建器UserPortfolio::pluck('user_id')上调用pluck
标签: php mysql laravel database