Giu*_*erv 1 php laravel eloquent laravel-5 laravel-eloquent
我正在用ajax进行删除调用以建立模型的销毁路径。一切正常,除了控制器与数据库中的相应记录不匹配。
我打电话给api/serviceoperations/17ajax 删除电话,但是如果我var_dump以这种方式将a 放入控制器中:
public function destroy(ServiceOperation $serviceOperation) {
var_dump($serviceOperation);die;
}
Run Code Online (Sandbox Code Playgroud)
我得到一个不存在的空模型
public 'exists' => boolean false
Run Code Online (Sandbox Code Playgroud)
当然,我有一个称为ServiceOperation的模型,该模型引用具有主键的表service_operations,并且在我的数据库中有一个带有key的记录。 id17
控制器为什么不解析我的ID到数据库中相对记录的路由?
使用以下命令创建模型,控制器和迁移
php artisan make:model -m -c -r App\Models\ServiceOperation
Run Code Online (Sandbox Code Playgroud)
无论如何,laravel似乎无法
很好地处理一个表名而不是一个世界:尽管上面的命令对一个单词表名(即App \ Model \ Service)有效,但对2个或多个表却不起作用它不会自己绑定路由中传递的模型。
解决方案是在控制器中使用所有小写字符的输入变量名称。
就我而言,控制器中的自动生成的销毁功能是
public function destroy(ServiceOperation $serviceOperation) {
//model bind not working
}
Run Code Online (Sandbox Code Playgroud)
但是模型绑定无效。
将参数更新为小写字符串,解决该问题,然后模型绑定起作用:
public function destroy(ServiceOperation $serviceoperation) {
//model bind working
}
Run Code Online (Sandbox Code Playgroud)
解决方案是在控制器中使用所有小写字符的输入变量名称。
就我而言,控制器中的自动生成的销毁功能是
public function destroy(ServiceOperation $serviceOperation) {
//model bind not working
}
Run Code Online (Sandbox Code Playgroud)
但是模型绑定无效。
将参数更新为小写字符串,解决该问题,然后模型绑定起作用:
public function destroy(ServiceOperation $serviceoperation) {
//model bind working
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |