Laravel - вырвать поля из отношений - PullRequest
0 голосов
/ 28 мая 2018

Я новичок в laravel и php, и теперь я хочу создать API для отдыха. У меня есть этот запрос:

 $questions = Question::with(
 array('picture' => function($query){     
      $query>select('question_id','picture_name')>pluck('picture_name')>all();
     },
       'user'=>function($query){
      $query->select('id','image','name');
     }))->get()->toArray();

Мой запрос возвращает этот JSON:

{
"questions:": [
    {
        "id": 1,
        "title": "23",
        "caption": "last",
        "address": "lsdbabfd",
        "picture": [
            {
                "question_id": 1,
                "picture_name": "1527484678.jpg"
            },
            {
                "question_id": 1,
                "picture_name": "1527485120.jpg"
            }
        ],
        "user": {
            "id": 1,
            "image": "defaultPicture",
            "name": "alex"
        }
    }
  ]
}

но яхочу это json:

{
"questions:": [
    {
        "id": 1,
        "title": "23",
        "caption": "last",
        "address": "lsdbabfd",
        "picture": [
            "1527484678.jpg",
            "1527485120.jpg"
        ],
        "user": {
            "id": 1,
            "image": "defaultPicture",
            "name": "alex"
        }
    }
  ]
}

как я могу это сделать?я уже пытался сделать это с помощью метода Laravel Pluck и Eloquent Mutators

1 Ответ

0 голосов
/ 28 мая 2018

вы можете добавить атрибут метода

class Question extends Model
{
    ...
    protected $appends = ['pictures'];
    public function getPicturesAttribute()
    {
        return $this->pictures->pluck('picture_id');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...