かなりざっくりとした質問になります。
以下の方法についてご意見ください。
ログインユーザーを選択したらトップ画面とコメント画面にチェックがつき、ゲストユーザーを選択したら、その場でコメント画面にチェックがつく仕様にしたいる場合、どのような処理を書けばいいでしょうか?
やろうとしている実装内容は、
1.プルダウンを選択
2.選択したプルダウンによってチェックボックスにチェックをつける
このような実装を考えています。
プルダウンの内容は、
1ログインユーザー
2ゲストユーザー
となっています。
ログインユーザーとゲストユーザーにはそれぞれ権限が異なるため、以下のようになっています。
rolesテーブル
top,commentにて0は権限なし、1は権限あり
role_id|name|top|comment|
|:--|:--:|--:|
|1|ログインユーザー|1|1|
|2|ゲストユーザー|1|0|
想定している画面
プルダウン
☐トップ画面
☐コメント画面
ログインユーザーを選択したらトップ画面とコメント画面にチェックがつき、ゲストユーザーを選択したら、その場でコメント画面にチェックがつく仕様にしたい。
上記のようなロジックにする場合、どのような処理を書けばいいでしょうか?
現状は、
ログインユーザー選択
↓
rolesのデータベース照合させる
↓
1だった場合、チェックつける。0だった場合、つけない
jsファイル内 if (roleId == 1) { laravel側でrolesテーブルのデータベース照合して、権限1のものを探す 1のものはチェックをつける、0はつけない } if (roleId == 2) { laravel側でrolesテーブルのデータベース照合して、権限1のものを探す 1のものはチェックをつける、0はつけない }
このようなロジックを考えています。
おもにjs側で処理を書くことになると思いますが、laravelのデータベース照合とかjs内でできるのかな?みたいに思っています。
laravelのモデルやコントローラーにもこんなこと書けばいいよー!ってあればぜひお願いします。
config>user.php
user_name = [
'login_user' => 'ログインユーザー',
'comment_user' => 'コメントユーザー'
]
プルダウン
<table id="list-table"> <thead> <tr> <th class="checkbox"></th> <th class="user">{{ __('ユーザー') }}</th> </tr> </thead> <tbody> @foreach (Config::get('user.user_name') as $key => $value) <tr class="{{ old($key) == 1 ? 'selected' : '' }}"> <td> <div class="custom-control custom-checkbox"> <input type="hidden" class="custom-control-input" name="{{ $key }}" value="0"> <input type="checkbox" class="custom-control-input role-function-flg-checkbox {{ $errors->has($key) ? ' is-invalid' : '' }}" name="{{ $key }}" value="1" {{ old($key) == 1 ? 'checked' : '' }}> <label class="custom-control-label"></label> </div> </td> <td>{{ $value }}</td> </tr> @endforeach </tbody> </table>