首页 > 解决方案 > 如何在 Laravel 中根据数据库查询结果检查复选框?

问题描述

我有以下查询,它从数据库中获取选定的值(即用户通过大约 20 个复选框输入的首选项):

$brng_selected = DB::table('Cprefs')
    ->where('user_id', $u_id)
    ->get();
return view('prefCat', ['b_sel' => $brng_selected]);

在以下示例中,用户选择了一个 id 为 11 的首选项,它指的是“sports”(在 qatype 字段中):

array(1) {
    [
        0
    ]=> object(stdClass)#368 (6) {
        [
            "id"
        ]=> int(47) [
            "created_at"
        ]=> string(19) "2019-09-27 12:29:59" [
            "updated_at"
        ]=> string(19) "2019-09-27 12:29:59" [
            "user_id"
        ]=> int(12) [
            "qatype"
        ]=> int(11) [
            "type"
        ]=> int(1)
    }
}

现在我需要根据上面的配置来勾选下面的运动复选框。如何才能做到这一点?

<input type="checkbox" name="catpref[]" value=11 > Sports<br>

<input type="checkbox" name="catpref[]" value=1> Politics<br>

标签: phplaravel

解决方案


像这样的东西?

@if ($ba_sel->qa_type == 11)
    <input type="checkbox" name="catpref[]" value="11" checked>Sports<br>
@else
    <input type="checkbox" name="catpref[]" value="11">Sports<br>
@endif

推荐阅读