[英]How to join only last record of the table in laravel?
我有兩個表beneficiaries
和accommodation_histories
歷史,我只想將accommodation_histories
歷史的最后記錄加入beneficiaries
。
到目前為止,這是我的方法:
public function getQuery(): Builder
{
return DB::table('beneficiaries')
->select([
'beneficiaries.id',
'media.id as media',
'beneficiaries.name as beneficiary_name',
'beneficiaries.surname',
'beneficiaries.gender',
'beneficiaries.date_of_birth',
'countries.name as country_of_birth',
'accommodation_histories.center as center',
'accommodation_histories.date_of_receipt as date_of_receipt',
'accommodation_histories.release_date as release_date',
])
->leftJoin('media', 'media.model_id', '=', 'beneficiaries.id')
->join('countries', 'countries.id', '=', 'beneficiaries.country_of_birth')
->join('accommodation_histories', 'accommodation_histories.beneficiary', '=', 'beneficiaries.id');
}
您可以在家長 model(受益人)處執行如下操作:
public function accommodation_histories()
{
return $this->hasOne('App\Accommodation_histories')->orderBy('id', 'desc');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.