繁体   English   中英

该关系未附加到 laravel 中的 model

[英]the relation is not appending to the model in laravel

i want to append a relation to my model in laravel i know its possible with resource but i need it to be appened to model so here its like below what i do:

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

我的关系是:

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

但是当我运行我的 api 它返回 null 但是当我调用关系时它有关系并且没有问题。 知道我做错了什么吗?

编辑

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

return $this->accommodationRooms()将返回查询构建器的实例。 这可能就是它显示为空的原因。

将其更改为

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

不带()调用它

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

并将您的关系更新为:

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

并确保您的accommodation_rooms表中有accommodation_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM