我希望在特定情况下将访问者的值添加到集合中。它有数组$appends
,但我不想总是添加值。也许有一种类似makeVisible
的方法吗?
假设我有模型预订和作者:
class Book extends Model
{
protected $fillable = ['title', 'author_id'];
public function author()
{
return $this->belongsTo(App\Author::class);
}
public function getAuthorNameAttribute()
{
return $this->author->name;
}
}
我想要回复带有作者姓名的书籍集合,只需致电:
Route::get('books', function () {
return App\Book::all()
->appends(['author_name']);
});
是的,我可以使用map()
,但我找到另一个(更美丽的决定)
答案 0 :(得分:0)
是的,Laravel eloquent有一个名为makeVisible()的方法。
如果您想要显示一些通常隐藏的属性 在给定的模型实例中,您可以使用makeVisible方法。该 makeVisible方法返回模型实例以方便方法 链接。