[英]PHP / Laravel 4 echo checkbox value from database stored as boolean
我有一些复选框,未选中的存储为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”的最佳方法是什么,如果未选中,则什么都不回显的最佳方法是什么?
这是我对控制器中的复选框执行的操作:
$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请求之外访问该方法,然后就没有后期输入,因此类似Input::has()
这样的事情将返回false并将这些值设置为零。
可能会有一种更优雅的方法。 我不知道怎么办。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.