簡體   English   中英

如何在laravel中的內部聯接中獲取選定的列表?

[英]How to get the selected columns tables in an inner join in laravel?

這是我的選擇查詢,其中包含內部聯接和要選擇的值。

$user_reservation = DB::table('users')
            ->join('reservations', 'users.id', '=', 'reservations.users_id')
            ->select('users.id', 'reservations.id as res_id')
            ->get();

我需要$ user_reservation變量中的res_id才能過濾結果。 謝謝

$reserved_rooms = $rr_model->where('reservation_id', '=', $user_reservation->res_id)->get();

這意味着您正在接收集合,而不是對象,因為您正在使用->get(); 您需要遍歷集合。

foreach($user_reservation as $reservation) {
    $reserved_rooms = $rr_model->where('reservation_id', '=', $reservation->res_id)->get();
}

但是,如果只希望$user_reservation一個實例,請將get()更改為first() $user_reservation

$user_reservation = DB::table('users')
->join('reservations', 'users.id', '=', 'reservations.users_id')
->select('users.id', 'reservations.id as res_id')
->first();

您可以在模型中定義關系:

return $this->hasOne('App\User', 'foreign_key', 'local_key');

在模型中定義

public function user()
{
    return $this->hasOne('App\User');
}

要么

public function user()
{
    return $this->belongsTo('App\User');
}

檢查文檔:
https://laravel.com/docs/5.4/eloquent-relationships

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM