Example #1
0
 private function createCategory($categoryName, $parentCategoryName = null)
 {
     $categoryId = null;
     if ($parentCategoryName == null) {
         // Top level category
         //$existing = \App\Models\Category::where('name', '=', mb_strtoupper($categoryName))->first();
         //$existing = \DB::select('SELECT id FROM food_categories WHERE LOWER(name) = ' . mb_strtolower($categoryName));
         $existing = \DB::table('food_categories')->whereRaw('LOWER(name) = "' . mb_strtolower($categoryName) . '"')->first();
         if ($existing == null) {
             $newCat = new \App\Models\Category();
             $newCat->name = ucfirst(mb_strtolower($categoryName));
             $newCat->save();
             $categoryId = $newCat->id;
         } else {
             $categoryId = $existing->id;
         }
     } else {
         // Sub level category
         //$existingParent = \App\Models\Category::where('name', '=', mb_strtoupper($parentCategoryName))->first();
         //$existingParent = \DB::select('SELECT id FROM food_categories WHERE LOWER(name) = ' . mb_strtolower($parentCategoryName));
         $existingParent = \DB::table('food_categories')->whereRaw('LOWER(name) = "' . mb_strtolower($parentCategoryName) . '"')->first();
         if ($existingParent != null) {
             //$existing = \App\Models\Category::where('name', '=', $categoryName)->where('parent_id', '=', $existingParent->id)->first();
             //$existing = \DB::select('SELECT id FROM food_categories parent_id = ' . $existingParent->id . ' WHERE LOWER(name) = ' . mb_strtolower($parentCategoryName));
             $existing = \DB::table('food_categories')->where('parent_id', '=', $existingParent->id)->whereRaw('LOWER(name) = "' . mb_strtolower($categoryName) . '"')->first();
             if ($existing == null) {
                 $newCat = new \App\Models\Category();
                 $newCat->name = ucfirst(mb_strtolower($categoryName));
                 $newCat->parent_id = $existingParent->id;
                 $newCat->save();
                 $categoryId = $newCat->id;
             } else {
                 $categoryId = $existing->id;
             }
         }
     }
     return $categoryId;
 }