哪个是关闭的连接的Illuminate Laravel文档

时间:2018-02-14 17:47:24

标签: php laravel join laravel-5 subquery

看似this的典型联接:

$users = DB::table('users')
            ->join('contacts', 'users.id', '=', 'contacts.user_id')
            ->join('orders', 'users.id', '=', 'orders.user_id')
            ->select('users.*', 'contacts.phone', 'orders.price')
            ->get();

在laravel docs here中有详细记载,如下所示:

  

$ this join(string $ table,string $ 1,string $ operator = null,string $ two = null,string $ type ='inner',bool $ where = false)

但是,我不知道这种联接记录在哪里:

DB::table('users')
        ->join('contacts', function ($join) {
            $join->on('users.id', '=', 'contacts.user_id')->orOn(...);
        })
        ->get();

例如,selectSub在其documentation中显然有一个闭包:

Builder|Builder selectSub(Closure|Builder|string $query, string $as)

背景:尝试将语法指出here

2 个答案:

答案 0 :(得分:0)

转到this link然后在文档中搜索Advanced join clauses或向下滚动一下,您将看到该标题

答案 1 :(得分:0)

如果与您的表存在关系,则可以使用whereHas方法。

$stuff = User::whereHas('contacts', function ($query) {
    $query->where('user_id', '=', $id);
})->get()