Laravel 4 如果有产品,如何不删除类别?
我有一个产品的类别名称是:“短裤”。因此,如果我删除类别名称,产品也将被删除。所以,我想,如果短裤将被删除,它不会删除,因为它有一个产品。请帮帮我 我的删除类别的功能Laravel 4 如果有产品,如何不删除类别?,laravel-4,Laravel 4,我有一个产品的类别名称是:“短裤”。因此,如果我删除类别名称,产品也将被删除。所以,我想,如果短裤将被删除,它不会删除,因为它有一个产品。请帮帮我 我的删除类别的功能 public function destroy(){ $category= Category::find(Input::get('id')); if($category){ $category->delete(); return Re
public function destroy(){
$category= Category::find(Input::get('id'));
if($category){
$category->delete();
return Redirect::to('admin/categories/index')
->with('message', 'Category Deleted');
}
return Redirect::to('admin/categories')
->with('message', 'Something went wrong');
首先,您需要检查是否有属于该类别的产品
Product::where('category_id', Input::get('id'))->count();
如果计数不大于0,则只需删除该类别*未经测试*
$products = Product::where('category_id', Input::get('id'))->count();
if($products > 0){
return Redirect::to('admin/categories')
->with('message', 'Something went wrong');
}
else{
$category= Category::find(Input::get('id'));
$category->delete();
return Redirect::to('admin/categories/index')
->with('message', 'Category Deleted');
}
你读过ORM系统中“级联”的概念吗?看起来你不希望这种关系继续下去。有很多方法可以做到这一点,问题是-为什么要删除这些项目?这不是SQL的默认行为,那么在哪里生成额外的SQL删除呢?