отношение не добавляется к модели в laravel - PullRequest
0 голосов
/ 05 октября 2019

Я хочу добавить отношение к моей модели в laravel. Я знаю, что это возможно с помощью ресурса, но мне нужно, чтобы оно было добавлено к модели, поэтому здесь, как показано ниже, я делаю:

 protected $appends = ['accommodation_rooms'];
    public function getAccommodationRoomsAttribute(){
        return $this->accommodationRooms();
    }

и мое отношениеis:

 public function accommodationRooms()
    {
        return $this->Hasmany(AccommodationRoom::class);
    }

но когда я запускаю свой API, он возвращает ноль, но когда я вызываю отношение, оно имеет отношение, и у него нет проблем. Любая идея, что я делаю неправильно ??

РЕДАКТИРОВАТЬ

  $data = Accommodation::with('city', 'accommodationFacilities', 'gallery')
            ->where('is_deleted', 0)->Paginate(env('PAGINATE_NUMBER'));
        return $data;

Ответы [ 2 ]

1 голос
/ 05 октября 2019

Позвоните без ()

public function getAccommodationRoomsAttribute(){
    return $this->accommodation_rooms;
}

И обновите свое отношение:

 public function accommodationRooms()
    {
        return $this->hasMany(AccommodationRoom::class);
    }

И убедитесь, что в вашей таблице accommodation_rooms * 1010 есть столбец accommodation_id*

1 голос
/ 05 октября 2019

return $this->accommodationRooms() вернет экземпляр построителя запросов. Вероятно, поэтому он показывал пустой.

Измените его на

public function getAccommodationRoomsAttribute(){
    return $this->accommodationRooms;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...