使用 Laravel 8,我有一個belongsTo
與另一個有關系的模型。
class Author extends Model
{}
還有一個,
class Post extends Model
{
public function author()
{
return $this->belongsTo('App\Models\Author', 'author_id');
}
}
// Controller
Post::with('author');
通過使用with
,我可以根據 Post 檢索作者。但是,將檢索作者的所有屬性。我不想回傳所有欄位,因為作者可能有機密資訊。
如果我有多個表要獲取with(['model1', 'model2'...])
,這將回傳所有外部表欄位。
有沒有辦法,with(new AuthorResource())
所以我可以將邏輯放入資源中,例如限制要顯示的欄位?
uj5u.com熱心網友回復:
您可以創建 PostResource,在陣列中添加作者欄位,然后將作者資源傳遞到那里。
return [
'author' => AuthorResource::make($this->author)
];
uj5u.com熱心網友回復:
您可以使用選擇。
Post::with('author')->select('author.id')->get();
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518271.html
標籤:拉拉维尔
上一篇:LaravelPUT請求