【问题标题】:Laravel: Retrieve records from a table with an associated table via another tableLaravel:通过另一个表从具有关联表的表中检索记录
【发布时间】:2022-01-16 20:40:35
【问题描述】:

这是我的问题。

我有 3 张桌子:

  1. 预订(id、spot_id、...)

一个预订有一个位置,一个位置有多个预订

  1. 景点(id、place_id、...)

一个地方有一个地方,一个地方有多个地方

  1. 地点(ID,...)

我想要的是从 BookingController 获取 带有相关地点的预订列表

类似的东西:

Booking::where("ok",1)->with("place")->get();

我已经在所有三个模型中都有“hasMany”和“belongsTo”关系。而且我已经在预订模式中尝试过“hasOneThrough”,但无济于事。

我该怎么做谢谢。

【问题讨论】:

    标签: laravel database eloquent get has-one-through


    【解决方案1】:

    如果您总是希望将地点包含在预订模型中,您可以将它们添加为属性:

    namespace App\Models;
    
    class Booking{
        public $appends = ['places'];
    
        public function getPlacesAttribute()
        {
            return $this->hasMany(Place::class);
        }
    }
    

    现在您可以直接从预订类访问地点,例如 $booking->places

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多