假设我得到了分页结果:
"data" => array:2 [
0 => array:8 [
"id" => 1
"profile_id" => "1"
"content_id" => "1"
"content_type" => "App\Tweet"
"content" => [some array]
]
1 => array:8 [
"id" => 2
"profile_id" => "1"
"content_id" => "1"
"content_type" => "App\Food"
"content" => null
]
]
除了 whereHas / has 之外还可以使用什么来移除数据[1]因为"内容"是 null ?
我问,因为WhereHas 无法使用morphTo ,请参阅此主题:#5429。提出的变通方法需要为每种类型都有明确的关系声明[不太好:(]。
我的内容是:
public function content()
{
return $this->morphTo();
}
分页结果是这样的:
$profile->profileContents() //one Profile hasMany('App\ProfileContent')
->with('content')
->paginate(5);
如果您想知道为什么内容为空,那是因为GlobalScope。