我有一些复选框,存储为0表示未选中,或者1表示已检查为布尔值。
我现在正试图使用laravel(例如
)回显这些值echo $request->facebook
返回1或0.它不返回“facebook”的值。
在我看来,我有:
<input type="checkbox" value="facebook" name="facebook" class="css-checkbox" />
在我的模型中,我有这个:
$request->facebook = Input::has('facebook');
$request->save();
模型将检查复选框facebook的表格,并将布尔值保存在数据库中。
如果选中复选框,则回显“facebook”的最佳方法是什么,如果未选中该复选框,则回显任何内容?
答案 0 :(得分:0)
这就是我对控制器中的复选框所做的事情:
$object = new MyObject;
$object->facebook = Input::has('facebook') ? 1 : 0;
$object->twitter = Input::has('twitter') ? 1 : 0;
$object->somethingElse = Input::has('someCheckbox') ? 1 : 0;
$object->save();
可能有更好的方法,但这是我通常做的。它易于阅读和理解,并使您的代码井井有条。
我已尝试使用mutators将这样的事情移动到模型中,但我不确定在模型上使用Input
类。在你的控制器POST方法中,Input
类总是在那里。总是会有Input
来检查和使用。但是在一些随机模型方法中,你可能有一天在POST请求之外访问该方法,然后没有post输入,所以像Input::has()
这样的东西将返回false并将这些值设置为零。
可能有更优雅的方式来做到这一点。我不确定是什么。