Получить конкретные столбцы, используя функцию «only ()» в Laravel Eloquent - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть две таблицы user и post.

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

class UserController
{
  public function posts(User $user)
  {
    return $user->only(['username', 'name', 'posts.body' // solution one

    return $user->only(['username', 'name', 'posts'=>function($q){
       $q->select(['body']
   }])// solution two

У кого-нибудь есть обходной путь?

1 Ответ

0 голосов
/ 17 ноября 2018

в посте получает только одно значение столбца в одной строке, затем используется value метод

Post::where('user_id')->value('body')

, если вы хотите получить несколько значений (строк) из одного используемого столбца pluck метод

Post::where('user_id')->pluck('body')    //this will get on the array

иначе используется select метод

Post::select('body')->where('user_id')->get(); // this will get on collection
Post::select('body')->where('user_id')->get()->toArray(); // this will get on array
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...