从控制器传递布尔值以存储表单数据的正确方法



我是Laravel的新手,不知道我做错了什么。 我有这个"Symfony\Component\Debug\Exception\FatalThrowableError 语法错误,每当我尝试提交表单时意外的"="。

这是在我的create.blade中.php

<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" id="#is_available?" name="is_available?">
<label class="form-check-label" for="is_available?">
Is this available and ready to be rented?
</label>
</div>

在我的汽车控制器中.php

public function store(Request $request)
{
$car = new car;
$car->car_brand = $request->car_brand;
$car->car_name = $request->car_name;
$car->description = $request->description;
$car->car_type_id = $request->car_type_id;
$car->image_location = '';
$car->is_available? = $request->is_available?;

$car->save();
return redirect('/selections');
}

其余的都可以,除了那个布尔值。 我不知道该怎么办。 我的列名是"is_available?

您必须将表单变量重命名为name="is_available",因为引号之外?只会被解释为速记三元(您可以查看此博客文章以获取更多 Stitcher-PHP 中的速记比较(

此外,在控制器中,您需要删除此语句中的所有?$car->is_available? = $request->is_available?;

最后,如果您的数据库字段也is_available?则还需要删除该?

我没有尝试过,但将这一行更改为$car->is_available? = $request->is_available?;

到这个$car->{'is_available?'} = $request->{'is_available?'};

最新更新