Php laravel中查询生成器中with子句的替换
我在laravel 5中使用Eloquent编写了一个查询,其中我使用了Php laravel中查询生成器中with子句的替换,php,mysql,laravel,Php,Mysql,Laravel,我在laravel 5中使用Eloquent编写了一个查询,其中我使用了with子句,但是当我在laravel查询生成器中编写查询时,我在其中找不到任何with子句请告诉我在查询生成器中使用with子句的替代方法 以下是我的问题: $invitedOnActivity = $this->isInvitedOnActivity($activity->id, $activity->user_id, $authUser->id); if($invitedOnA
with子句
,但是当我在laravel查询生成器中编写查询时,我在其中找不到任何with子句
请告诉我在查询生成器中使用with子句的替代方法
以下是我的问题:
$invitedOnActivity = $this->isInvitedOnActivity($activity->id, $activity->user_id, $authUser->id);
if($invitedOnActivity == true && $activity->activity_privacy == 'invite_only'){
if($activity->activity_privacy_visible == 0)
{
$activity = Activity::where('id', $activity->id)->with(['joins' => function($query) use ($userFriendIds) {
$query->whereIn('user_id', $userFriendIds);
}])->withCount(['joins' => function ($query) use ($userFriendIds) {
$query->whereIn('user_id', $userFriendIds);
}])->first();
// return response()->json(['q'=>$activity],200);
}
else if ($activity->activity_privacy_visible == 1 && in_array($activity->user_id, $userFriendIds))
{
$activity = Activity::where('id', $activity->id)->where('activity_privacy_visible', 1)->with(['joins' => function($query) use ($userFriendIds) {
$query->whereIn('user_id', $userFriendIds);
}])->withCount(['joins' => function ($query) use ($userFriendIds){
$query->whereIn('user_id', $userFriendIds);
}])->first();
// return response()->json(['w'=>$activity],200);
}
else {
continue;
}
}
我希望在查询生成器中更改此查询。这是我将尝试的问题,但我认为它不起作用
if($invitedOnActivity == false){
$activity = DB::table('activities')
->where('id', $activity->id)
->where('activity_privacy', 'invite_only')
->where('activity_privacy_visible', 0)
->get();
}
在这个查询中,我找不到with子句的替代项。请帮帮我。提前谢谢。这是不可能的
with
子句使用雄辩模型的关系定义。在这种情况下,您只能使用连接。如何使用连接@maximkou@maximkou请帮忙?这不可能with
子句使用雄辩模型的关系定义。在这种情况下,您只能使用连接。如何使用连接@maximkou@maximkou请帮忙?