我是后端开发的新手,我试图使用控制器内部的中介表从用户5中选择广告系列。到目前为止,使用以下代码会出现以下错误。我不太明白错误的含义,而Google的结果也没有帮助。
“ stripos()期望参数1为字符串,给定对象”
public function index()
{
$userCampaignIDs = CampaignUser::where('user_id', '5');
$campaigns = Campaign::findMany('id', $userCampaignIDs);
return $campaigns;
}
答案 0 :(得分:1)
因为$userCampaignIDs
不是数组,而是QueryBuilder。
您必须获得一个数组才能使用findMany
,如下所示:
$userCampaignIDs = CampaignUser::where('user_id', '5')->get()->pluck('id');
但是,您必须使用雄辩的关系才能更轻松地建立关系,例如:
$userId = 5;
$campaigns = Campaign::whereHas('campaignUser', function($query) use ($userId) {
$query->where('user_id', $userId);
})->get();
我想Campaign
和CampaignUser
之间有一种关系