我在刀片中创建链接时遇到问题。
当我有这样的路线时:
Route::get('user/profile/{id}','UserController@showProfile')->name('profile');
我想在刀片模板中创建链接,如:
{{ route('routeName', ['id' => 1]) }}
但是我想直接从用户对象创建链接,是否可以从对象实例创建带参数的链接?像:
{{ route('routeName', $userobject) }}
当然,$userobject
有一个名为id
的属性:($userobject->id)
答案 0 :(得分:0)
使用此解决方案时请小心,因为这会直接影响toArray()和toJson()函数
您可以在用户模型中设置 $ visible 属性:
class User extents Eloquent {
....
private $visible = ['id'];
....
}
因此,当您使用模型作为参数调用路径时,Laravel将在eloquent对象中调用 toJson()函数,结果将只是用户对象的id:
{{ route('routeName', $userobject) }}
您可以阅读official documentation了解更多信息。