2016-10-13 5 views
0

У меня есть 2 модели: Автор и PostLaravel 5 красноречиво: выбрать конкретный столбец отношения

В моем сообщении модели, у меня есть функция автора (один ко много (Inverse)):

public function author() 
    { 
     return $this->belongsTo('App\Author', 'author_id'); 
    } 

Теперь я хочу экспортировать в Excel следующую информацию:

ID | название | имя автора

Это то, что я пробовал:

$posts = Post::with(array(
     'author' => function ($query) { 
      $query->select('name'); 
     }))->select('id', 'title')->get(); 

Что я получаю это имя пустой автора столбца.

Что я не так?

+0

Попробуйте get ('id AS Id', 'title AS Title', 'authors.name AS Name') вместо -> select ('id', 'title') -> get(); – t9toqwerty

ответ

2

пожалуйста, попробуйте:

$posts = Post::with(['author' => function($query){ 
    $query->select(['id','name']); 
}])->get(['id','title', 'author_foreign_key_in_posts_table']); 

Имея это, вы будете иметь возможность получить:

$posts->first()->author->name; 
$posts->first()->id; 
$posts->first()->title; 

Вы можете использовать итерацию или что-то вместо первого() для экспорта.

Смежные вопросы