dri98076 2018-04-20 13:38
浏览 23
已采纳

PHP Laravel使用包括在哪些表上使用

I have a bit of experience with Laravel but I am in no way a pro.

I have this query:

$email_stats = User::with(['identities.sessions.device' => function($q) use ($venue_filter) {
    $q->where('venue_id', $venue_filter);
}])->where('id', $user_id)->first();

This query is doing the where on the device table, is there a way to do it on the identities table as well as including the sessions and device table.

Basically what I am trying to do is if the identities table has information which I don't want, I dont want to get that information or the information from the 2 tables below it.

This query works but doesnt get the information from the other 2 tables:

$email_stats = User::with(['identities' => function($q) use ($venue_filter) {
    $q->where('venue_id', $venue_filter);
}])->where('id', $user_id)->first();

That is now running the where on the identities table but doesn't get the other 2 tables which I also need

  • 写回答

1条回答 默认 最新

  • dongxuanyi3406 2018-04-20 13:46
    关注

    You can do

    $email_stats = User::with(['identities' => function($q) use ($venue_filter) {
        $q->with('sessions.device')->where('venue_id', $venue_filter);
    }])->where('id', $user_id)->first();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?