Rom*_*LTU 7 php laravel eloquent laravel-5 laravel-eloquent
文档说:
$user = User::find($user_id);
$user->delete();
Run Code Online (Sandbox Code Playgroud)
这不起作用,但是 ProductColor::find($color_id) 工作。$color->delete() 不返回任何内容,DELETE FROM 查询甚至不执行(如调试栏中所示)。
但我可以删除记录:
ProductColor::destroy($color_id);
Run Code Online (Sandbox Code Playgroud)
一定是我之前忽略的东西,我是 Laravel 的新手。
我也在使用商店,它按预期工作
public function store(Request $request)
{
$color = new ProductColor();
$color->name = $request->color_name;
$color->order = $request->color_order;
$saved = $color->save();
if ($saved) {
return back()->with('message:success', 'Ok');
} else {
return back()->with('message:error', 'Error');
}
}
Run Code Online (Sandbox Code Playgroud)
总结
这有效
public function destroy($color_id)
{
$deleted = ProductColor::destroy($color_id);
if ($deleted) {
return back()->with('message:success', 'Deleted');
} else {
return back()->with('message:error', 'Error');
}
}
Run Code Online (Sandbox Code Playgroud)
这不是
public function destroy($color_id)
{
$color = ProductColor::find($color_id);
$color->delete();
}
Run Code Online (Sandbox Code Playgroud)
我的模特
<?php
namespace Modules\Shop\Entities;
use Illuminate\Database\Eloquent\Model;
use Modules\Languages\Entities\Language;
class ProductColor extends Model
{
protected $fillable = [];
protected $table = 'product_colors';
}
Run Code Online (Sandbox Code Playgroud)
对不起,我已经找到了问题所在。发布这个问题是我的错误。
我试图做的事情:
$color = new ProductColor();
$color->find($color_id);
$color->delete();
Run Code Online (Sandbox Code Playgroud)
应该:
$color = ProductColor::find( $color_id );
$color->delete();
Run Code Online (Sandbox Code Playgroud)
我的问题是我害怕 IDE 抱怨使用非静态方法“查找”
| 归档时间: |
|
| 查看次数: |
18071 次 |
| 最近记录: |