Как получить часть отношений принадлежности к Laravel? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть модель под названием Log.Он имеет внешний ключ с именем hash_id и отношение belongsTo к App\Hash.

Я понимаю, что могу получить соответствующую запись хеша, вызвав Log::with('hash'), как указано здесь .То, что я хотел бы сделать, это получить определенные строки соответствующего столбца хеша вместо каждого из них.Так что-то вроде Log::with('hash', ['only' => 'name']).Это потому, что я отправляю данные через AJAX и не хочу отправлять много ненужных столбцов вместе с ним.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

вы можете сделать двумя способами

с помощью анонимной функции

Log::with(['hash' => function($query) { 
    return $query->select('id','text');
}])->get();

вторым способом

  Log::with('hash:id,text')->get();

Помните, что вам нужно выбрать реляционныйстолбцы или иначе это не будет работать

больше информации прочитайте статья

0 голосов
/ 14 декабря 2018

Вы должны написать все столбцы с :

Log::with('hash:id,text')

. Это вернет только идентификатор и текст.

В качестве sidenote:выберите внешний ключ, в противном случае отношение будет пустым

Здесь вы можете узнать больше об этом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...