Как установить флажок на основе результата запроса БД в Laravel? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть следующий запрос, который выводит выбранные значения из БД (т.е. предпочтения, которые были введены пользователем с помощью около 20 флажков):

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

В следующем примере пользователь выбрал предпочтение с идентификаторомиз 11, который относится к «спорту» (в поле 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>

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Получите столбец, который нужно сравнить, как показано ниже

$brng_selected = DB::table('Cprefs')
    ->select('qatype') // column name which you need
    ->where('user_id', $u_id)
    ->get()->toArray(); // it will return as array

return view('prefCat', ['b_sel' => $brng_selected]);

На ваш взгляд измените, как показано ниже:

<input type="checkbox" name="catpref[]" value=11 {{ (in_array(11,$brng_selected)?"checked":'') }} > Sports<br>
1 голос
/ 27 сентября 2019

Как то так?

@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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...