[英]Laravel: How to make relationship accessor
我在模型UserTasks
與Review
模型有關系
public function reviews()
{
return $this->hasMany(Review::class,'task_id');
}
我正在使用with
加載評論
UserTasks::with('reviews');
我想使用UserTasks
模型中的訪問器格式化reviews
關系輸出
public function getReviewsAttribute($reviews)
{
// FILTER AND FORMAT RELATION OUTPUT
foreach ($reviews as &$review) {
if ($review['active'] == true) {
$review['cid'] = bcrypt($this->cid);
$reviews = [$review];
}
}
return $reviews;
}
不幸的是,這不起作用
使用with
加載的關系不注意訪問器
我讀到這幾乎是不可能的,但也許有人知道使用訪問器格式化加載關系的方法
如果你想要UserTasks模型中的所有評論,你可以試試這個
public function getReviewsAttribute($reviews)
{
$reviews = $this->reviews;
foreach ($reviews as $rewiew) {
// DO SOMETHING WITH REVIEWS
}
return $reviews;
}
通過$reviews = Review::all();
您將獲得所有評論,您可以做任何您想做的事情。
不要忘記在模型頂部添加命名空間,例如 use Review;(給出你的命名空間)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.