【发布时间】:2018-08-31 23:32:16
【问题描述】:
我在模型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加载的关系不注意访问者
我读到这几乎是不可能的,但也许有人知道使用访问器格式化加载关系的方法
【问题讨论】:
-
为什么不把访问者放在评论中?
-
请提供有关问题的更多详细信息。
-
@ChiragPatel 我不明白还有什么需要说明的细节
-
你正在尝试这个 public function getReviewsAttribute($rewiews) { foreach ($rewiews as &$rewiew) { // DO SOMETHING WITH REVIEWS } return $rewiews; } 但 $reviews 在哪里?
-
@aynber 我想过滤
reviews关系输出而不修改Reviews模型
标签: php laravel laravel-5 orm eloquent