Laravel - 使用对象

时间:2017-11-04 18:25:52

标签: laravel routes

我在刀片中创建链接时遇到问题。

当我有这样的路线时:

Route::get('user/profile/{id}','UserController@showProfile')->name('profile');

我想在刀片模板中创建链接,如:

{{ route('routeName', ['id' => 1]) }}

但是我想直接从用户对象创建链接,是否可以从对象实例创建带参数的链接?像:

{{ route('routeName', $userobject) }}

当然,$userobject有一个名为id的属性:($userobject->id)

1 个答案:

答案 0 :(得分:0)

使用此解决方案时请小心,因为这会直接影响toArray()和toJson()函数

您可以在用户模型中设置 $ visible 属性:

class User extents Eloquent {
   ....
   private $visible = ['id'];
   ....
}

因此,当您使用模型作为参数调用路径时,Laravel将在eloquent对象中调用 toJson()函数,结果将只是用户对象的id:

{{ route('routeName', $userobject) }}

您可以阅读official documentation了解更多信息。