【发布时间】:2020-12-11 02:24:35
【问题描述】:
我有一个模型团队,它与 Marketcenters 模型具有多态关系:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Team extends Model
{
public function teamable()
{
return $this->morphTo();
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Marketcenter extends Model
{
public function teams()
{
return $this->morphMany('App\Team', 'teamable');
}
}
我需要检索一个或任何 Marketcenter 的所有团队,以便列出所有团队及其所属的 Marketcenter。
因此,我执行以下代码并在查询中获得市场中心的团队集合:
$marketcenters = Marketcenter::where('id', $request->user()->marketcenter->id)->with('teams')->get();
foreach($marketcenters as $marketcenter) {
dd($marketcenter->teams);
}
但是当我想用相应的市场中心检索每个团队时,我的问题就出现了:
$marketcenters = Marketcenter::where('id', $request->user()->marketcenter->id)->with('teams')->get();
foreach($marketcenters as $marketcenter) {
dd($marketcenter->teams->marketcenter->mc_name);
}
此集合实例上不存在属性 [marketcenter]。
如何在多态关系中将父数据检索到子记录?
问候
【问题讨论】: