Цикл по каждому элементу, если условие else и not не работает - PullRequest
0 голосов
/ 23 мая 2019

Я застрял в этом коде, код работает правильно, но в цикле foreach index.blade.php не работает должным образом.Я пытаюсь показать, если один пользователь блокирует нескольких пользователей, тогда кнопка «Разблокировать» отображается только в профиле этого пользователя для одного пользователя, в противном случае кнопка «Показать блокировку» для всех.

Here My MyController

public function blockUser(Request $request, $username){

         $blocked = User::where('id', Auth::user()->id)->first();
            if (blockuser::where("block_username", "=", $username)->first())
          {
              $blocked = blockuser::where('block_username', $username)->first();
                 $blocked->delete();

          }else{

               $blocked = new blockuser;
                 $blocked->user_username = $request->user_username;
                 $blocked->block_username = $request->block_username;
                 $blocked->b_status = '1';
                 $blocked->save();
                }
               $user = User::where('username', $username)->first();
               $userprofile = userprofile::where('user_id', Auth::user()->id)->first();
               $blocked = blockuser::where('user_username', Auth::user()->username)->get();
               return view('profile.index',compact('user', 'userprofile', 'blocked'));


   }

Если данные пустые, отображается кнопка блока, и один пользовательский блок другому пользователю также отображается кнопка «Разблокировать», но после нажатия кнопки, чтобы разблокировать кнопку, иначе условие не работает, кнопка блокировки не отображается.Что я могу сделать, пожалуйста, помогите мне.

Вот профиль / index.blade.php

    @foreach($blocked as $block)
                   @if(empty($block->user_username ))
                     <a href="#0" class="cd-popup-trigger">Block</a>

                   @else
                        @if(Auth::user()->username == $block->user_username and $user->username == $block->block_username)
                         <a href="#0" class="cd-popup-trigger">Unblock</a>
                         @else
                            <a href="#0" class="cd-popup-trigger">Block</a>
                        @endif
                    @endif
   @endforeach  

Вот моя таблица block_users

id    user_username   block_username
1      
2
3
4

1 Ответ

0 голосов
/ 23 мая 2019
First Make it Sure blockuser is Correct Model Name
//First Solution 
$blocked = User::where('id', Auth::user()->id)->first();
$get_blockuser= blockuser::where("block_username", "=", $username)->first();
            if($get_blockuser)// Or Use if(!empty($get_blockuser))
          {
              $blocked = blockuser::where('block_username', $username)->first();
              $blocked->delete();
          }
//Second Solution
$blocked = User::where('id', Auth::user()->id)->first();
$get_blockuser= blockuser::where("block_username", "=", $username)->get();
            if(count($get_blockuser)>0)
          {
              $blocked = blockuser::where('block_username', $username)->first();
              $blocked->delete();
          }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...