我尝试在laravel crud控制器中创建一个函数,我需要得到categories的id来存储一个新的子类别,在我的mysql数据库的categories表中,我有name字段和一个表示父类别的father id,我正在创建一个函数来创建新的子类别,但是我无法获取father id
我的控制器:
{
$request->validate([
'name' => 'required|max:100',
//User insert the name of the father category
'category' => 'exists:categories,name'
]);
$category = new Category();
//I try to extract id from table
$father_id = Category::where('name', '=', $request->input('category'))->value('id');
$category->name = $request->input('name');
$category->father_id = $father_id;
$category->save();
// return $father_id;
return redirect()->route('categories.index')->with('success', 'category added successfully');
}
当我尝试返回'father_id'变量为空时
1条答案
按热度按时间wvyml7n51#
我建议您使用Categories选项构建表单,并将category的id作为值。
这将消除用户输入随机类别名称的可能性。
与此同时,您的问题将得到解决,因为您将直接从用户输入/提交的数据中获得类别ID。
示例
在你的控制器里
注意:如果category_id为0,则使用当前验证可能会出错