繁体   English   中英

来自数据库的PHP / Laravel 4 echo复选框值存储为布尔值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM