【问题标题】:How to join only last record of the table in laravel?如何在laravel中只加入表的最后一条记录?
【发布时间】:2020-09-03 02:23:21
【问题描述】:

我有两个表beneficiariesaccommodation_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');
}

【问题讨论】:

标签: php sql laravel


【解决方案1】:

您可以在父模型(受益人)处执行以下操作:

public function accommodation_histories()
{
    return $this->hasOne('App\Accommodation_histories')->orderBy('id', 'desc');
}

【讨论】:

  • 但我必须使用查询,而不是雄辩
猜你喜欢
  • 2021-05-03
  • 2021-05-07
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
相关资源
最近更新 更多