【问题标题】:How to get related model using select on curent query?如何在当前查询中使用 select 获取相关模型?
【发布时间】:2019-04-05 14:33:47
【问题描述】:

我尝试在当前查询中使用 select 获取相关模型,但相关模型返回 null 值。怎么了?

Ubuntu 18.04、PHP 7.1、Postgres 11、NGINX、Laravel 5.7

查询:

public function datesFind(Request $request)
{

    $games = Game::where('date_time_start', '<=', $request->get('date'))->where('date_time_end', '>=', $request->get('date'))
            ->where('sport_id', $request->get('sport_id'))->with('gameLevel')->get(['id', 'name', 'sport_id', 'date_time_start', 'date_time_end']);
    return $games;
}

结果:

[
    {
        "id": 135,
        "name": "Новая игра",
        "sport_id": 3,
        "date_time_start": "2019-01-25 00:00:00",
        "date_time_end": "2019-02-25 00:00:00",
        "game_level": null
    },

]

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    您必须在字段列表中包含外键才能加载关系...

    变化:

    $games = Game::where('date_time_start', '<=', $request->get('date'))
                  ->where('date_time_end', '>=', $request->get('date'))
                  ->where('sport_id', $request->get('sport_id'))
                  ->with('gameLevel')
                  ->get([
                      'id',
                      'name',
                      'sport_id',
                      'date_time_start',
                      'date_time_end'
                  ]);
    

    收件人:

    $games = Game::where('date_time_start', '<=', $request->get('date'))
                  ->where('date_time_end', '>=', $request->get('date'))
                  ->where('sport_id', $request->get('sport_id'))
                  ->with('gameLevel')
                  ->get([
                      'id',
                      'name',
                      'sport_id',
                      'date_time_start',
                      'date_time_end',
                      'game_level_id' // or replace with your foreign key col name...
                  ]);
    

    【讨论】:

      猜你喜欢
      • 2014-02-21
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多