Как получить конкретные столбцы на «с» отношения и основной коллекции? - PullRequest
0 голосов
/ 11 октября 2018

Я знаю, что могу сделать это:

User::with(array('project' => function($query){
   $query->select('title');
}))->get()

И что я могу сделать это:

User::get(['name', 'title', 'status', 'created_at']);

Как я могу объединить их?Это не работает:

User::with(array('project' => function($query){
    $query->select('title');
}))->get(['name', 'title', 'status', 'created_at'])

В идеале мои результаты формируются как:

[{
  _id: 'ID',
  name: 'NAME',
  title: 'TITLE',
  status: 'STATUS',
  created_at: 'CREATED_AT',
  project: {
      _id: 'ID',
      title: 'PROJECT TITLE'
  }
  } ... ]

1 Ответ

0 голосов
/ 11 октября 2018

Вы должны выбрать внешний и локальный ключ отношения:

User::with(['project' => function($query) {
    $query->select('_id', 'title');
}])->get(['name', 'title', 'status', 'created_at', 'project_id'])

В Laravel 5.5+ вы можете использовать это:

User::with('project:_id,title')
    ->get(['name', 'title', 'status', 'created_at', 'project_id'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...