【问题标题】:Delete record error with custom method model laravel使用自定义方法模型 laravel 删除记录错误
【发布时间】:2015-03-03 15:57:43
【问题描述】:

用户模型

public function take($id){
    return $this->find($id);
}

public function kill(){
    return $this->delete();
}

路由错误 1

Route::get('delete/{userid}', function($id)
{

    $user = new User;
    $user->take($id); //result the content of $id
    $user->kill();
});

我无法使用这些路线删除记录,只能显示空白页(无错误)。

路线错误2

Route::get('delete/{userid}', function($id)
{
    User::take($id)->kill();
});

上面的路线我得到错误非静态方法 User::take() 不应该被静态调用

但我可以用这条路线删除

Route::get('show/{userid}', function($id)
{
    $user = new User;
    $user->take($id)->kill();
});
  1. 那么,如果我想使用 $user-> 而不使用链 take() 和 kill() ,如何修复 Route 错误 1 ​​?如果可能的话
  2. 如果我想使用 User::,如何修复 Route 错误 2,以及为什么会出现这些错误?

提前致谢。

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    试试下面:

      Route::get('show/{$id}', function($id)
        {
         $user = new User;
         $user->find($id)->kill();
        });
    

    我认为接受的参数必须与传递给闭包的东西相同。

    【讨论】:

    • 如果可能的话,我想使用我的自定义方法 take($id) 而不是 find() 并且不链接 find() 和 kill() 。
    • 没关系 take() 来获取你想要的记录,find() 来查找 ID。非常感谢兄弟,我应该照原样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2020-05-05
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多