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

Php 从控制器传递布尔值以存储表单数据的正确方法,php,laravel-5,Php,Laravel 5,我是拉雷维尔的新手,不知道我做错了什么。 我遇到了这个“Symfony\Component\Debug\Exception\fatalthrowable”错误 语法错误,每当我尝试提交表单时,都会出现意外的“=” 这在我的create.blade.php中 <div class="form-check"> <input class="form-check-input" type="checkbox" value="1" id="#is_available?" name="i

我是拉雷维尔的新手,不知道我做错了什么。 我遇到了这个“Symfony\Component\Debug\Exception\fatalthrowable”错误 语法错误,每当我尝试提交表单时,都会出现意外的“=”

这在我的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>

除了这个布尔值,其余的都可以。我不知道该怎么办。我的列名是“is_available?”,我必须更改它吗?

您必须将表单变量重命名为
name=“is_available”
,因为引号之外的
只会被解释为缩写三元(您可以查看此博客文章了解更多信息)

此外,在控制器中,您需要删除此语句中的所有
$car->is\u available?=$请求->可用吗


最后,如果您的数据库字段也是
是否可用?
您将希望删除该

我没有尝试过,但更改此行
$car->是否可用?=$请求->可用吗


对于此
$car->{'is_available?}=$request->{'is_available?}

您是否注意到
$car->is\u available>中的问号$请求->可用吗
我相信
php
会认为您正在启动一个三元操作数,尝试删除它们,它们肯定是错误的。很抱歉,我粘贴了错误的表单。这里编辑得很好,做得很好!你好,谢谢,但我已经通过重命名我的列来修复它,我删除了“?”。再次感谢您的回答。有些,如果您对我的回答感到满意,请随时标记此问题的答案。欢迎来到StackOverflow,这里有很多对Laravel的帮助。我看不到在哪里单击标记此问题的答案。对不起,这是我第一个问题,因为我自己问了一个问题,但我相信在向上/向下的投票下面有一个复选标记,你点击它来标记答案。
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');

}