文档表示:
$user = User::find($user_id);
$user->delete();
这段代码不起作用,但是ProductColor::find($color_id)可以正常工作。$color->delete()没有返回任何内容,DELETE FROM查询甚至没有执行(如调试栏所示)。
但我可以使用以下方法删除记录:
ProductColor::destroy($color_id);
可能是我之前忽略了什么,我对Laravel还不熟悉。
我也在使用store,它的工作效果符合预期。
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');
}
}
总之
这个方法有效
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');
}
}
这是不正确的
public function destroy($color_id)
{
$color = ProductColor::find($color_id);
$color->delete();
}
我的模型
<?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';
}
$user = User::where('user_id', $user_id)->delete();
- diakosavvasndelete()
时,出现了什么错误? - lesssugar