Как я могу объявить функцию / метод за один раз, но использовать этот множественный запрос Laravel - PullRequest
0 голосов
/ 12 декабря 2018

Это моя users таблица

1.id
2.name
3......

Моя branches таблица

1.id
2.branch_name
3....

members таблица

1.id
2.branch_id
3.user_id
4.member_name
5......

Имя одной сводной таблицыbranch-users

1.id
2.user_id
3.branch_id

разрешенный идентификатор ветви хранилища пользователей в этой сводной таблице branch_user, когда этот пользователь вводит любого члена, он может видеть только свой список назначенных ветвей в поле <select></select> или, если хочетсмотрите список участников.он может видеть только свой список назначенных членов ветви. Я реализовал этот запрос в контроллере Laravel

Мой раздел метода индекса

public function index(){
   $my = Auth::user()->branches;// branches is a many to many relation method in user model
     foreach($my as $my){
      $myBranch[] = $my->id;
      }
   $member = Member::whereIn('branch_id',$myBranch)->get();
   return view('member.create',compact('member'))
}

Мой метод созданияsection

public function create(){
  // i have to check every where this section...from....... 
   $my = Auth::user()->branches;
     foreach($my as $my){
      $myBranch[] = $my->id;
      }
  //.......to here
   $branch = Branch::whereIn('id',$myBranch)->get();
   return view('member.create',compact('branch'))
}

Моя проблема в том, что я хочу использовать это ::whereIn('branch_id',$myBranch)->...., где условие для отображения списка филиалов и списка членов филиалов, везде, где я должен объявить и проверить пользователяназначить список ветвей, который не годится в среде Laravel, я знаю, что есть возможности, где я могу объявить любую функцию один раз и возможно использовать эту функцию / метод / переменную несколько раз.Я хочу проверить, один раз аутентифицированный пользователь назначает идентификатор филиала и использует несколько раз, где мне нужно.но, к сожалению, я не понимаю, как я могу это сделать.Если кто-нибудь из вас поймет, что я пытался сказать, помогите мне.

1 Ответ

0 голосов
/ 14 декабря 2018

Возможно, вы захотите написать себе локальный запрос области.Вы помещаете часть логики запроса в модель, а затем можете вызывать ее везде, где пытаетесь запросить эту модель.

https://laravel.com/docs/5.7/eloquent#local-scopes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...