Select 列来自 laravel 中的关系关系
Select column from relations relation in laravel
我正在尝试使用 with()
方法进行预先加载,我只想从关系关系中获取选定的列,我该怎么做? .我正在使用多态关系。
Draft::with(["user:id,username","article:id,locale","article.articleable:title"])->where([
["user_id",$user_id],
["is_suspended",1]
])->get();
模型草稿
public function article()
{
return $this->belongsTo("App\Models\Article");
}
文章模型
public function drafts()
{
return $this->hasMany("App\Models\Draft", "article_id", "id");
}
public function articleable()
{
return $this->morphTo();
}
其他与文章模型有多态关系的模型
public function articles()
{
return $this->morphMany("App\Models\Article", "articleable");
}
这已在 Laravel 5.7.6 中修复:https://github.com/laravel/framework/pull/25662
为了使其正常工作,您还必须 select id
列:
Draft::with('user:id,username', 'article:id,locale', 'article.articleable:id,title')
^^
->where([
['user_id', $user_id],
['is_suspended', 1]
])->get();
我正在尝试使用 with()
方法进行预先加载,我只想从关系关系中获取选定的列,我该怎么做? .我正在使用多态关系。
Draft::with(["user:id,username","article:id,locale","article.articleable:title"])->where([
["user_id",$user_id],
["is_suspended",1]
])->get();
模型草稿
public function article()
{
return $this->belongsTo("App\Models\Article");
}
文章模型
public function drafts()
{
return $this->hasMany("App\Models\Draft", "article_id", "id");
}
public function articleable()
{
return $this->morphTo();
}
其他与文章模型有多态关系的模型
public function articles()
{
return $this->morphMany("App\Models\Article", "articleable");
}
这已在 Laravel 5.7.6 中修复:https://github.com/laravel/framework/pull/25662
为了使其正常工作,您还必须 select id
列:
Draft::with('user:id,username', 'article:id,locale', 'article.articleable:id,title')
^^
->where([
['user_id', $user_id],
['is_suspended', 1]
])->get();