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删除呢?