I’m working on category and sub_catengory with laravel select menu related to shopping site using Mass Assignment, I’m having trouble to retrieve from the database from the select menu. I'm getting error said
Undefined variable: categories_dropdown (View:
add_product.blade.php file.
<div class="row">
<div class="col-md-6">
<div class="form-group row">
<label for="Category" class="col-sm-3 text-right control-label col-form-label font-
weight-bold">Category: <span class="red_star">∗</span></label>
<div class="col-sm-9">
<select name="category" id="category" class="custom-select">
<?php echo $categories_dropdown; ?>
</select>
</div>
</div>
</div>
ProductController.php
public function store(){
$data = request()->validate([
'sku' => 'required',
'product_name' => 'required',
'description' => 'required',
'brand' => 'required',
'category_id' => 'required',
'sub_categories' => 'required',
'size' => '',
'status' => '',
'product_code' => '',
'care' => '',
]);
Product::create($data);
$categories = Category::where(['parent_id'=>0])->get();
$categories_dropdown = "<option value='' selected disabled>Select</option>";
foreach($categories as $cat){
$categories_dropdown .= "<option value='".$cat->id."'>".$cat->name."</option>";
$sub_categories = Category::where(['parent_id'=>$cat->id])->get();
foreach ($sub_categories as $sub_cat) {
$categories_dropdown .= "<option value = '".$sub_cat->id."'> -- ".$sub_cat->name."</option>";
}
}
//Categories drop down end
return view('admin.products.add_product')->with(compact('categories_dropdown'));
}
product.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
protected $guarded = [];
}
what did I missed it! many thanks.
You have to change this
return view('admin.products.add_product',compact('categories_dropdown'));