Как проверить, что переменная пуста или нет - PullRequest
0 голосов
/ 28 сентября 2018

Это мой ProfileController:

 public function index()
   {
   $id = Auth::user()->id;
   $address = DB::table('addresses')->where('user_id', '=', $id)->get();
   return view('/Pages.profile',['address'=>$address]);
   }

Я хочу, чтобы этот адрес из базы данных печатался при просмотре, если адрес пуст, чем отображается ссылка для добавления адреса ... если он не пуст, чем отображаетсяадрес для конкретных пользователей.Это профиль:

@if(!empty($address))
@foreach($address as $row)
    <p><strong>Address : </strong>{{ $row->house_no }}, {{ $row->location }}, {{ $row->landmark }}</p>
    <p><strong> City : </strong>{{ $row->city }}</p>
    <p><strong>State : </strong> {{ $row->state }}</p>
    <p><strong>Pin Code : </strong>{{ $row->pin_code}}</p>
    <a data-toggle="modal" data-target="#mod1">Edit address</a> 
@endforeach 

@ else Добавить адрес
@ endif

Ссылка для добавления адреса не отображается, даже если адрес $ пуст.Любые предложения, где я допустил ошибку

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

вы можете использовать метод isNotEmpty.from doc :

Метод isNotEmpty возвращает значение true, если коллекция не пуста;в противном случае возвращается false

, поэтому должно быть так:

@if($address->isNotEmpty())


@else
  Add address
@endof
0 голосов
/ 28 сентября 2018

Laravel eloquent метод get () вернет вам коллекцию

Используйте метод count(), чтобы проверить, нет ли в нем таких элементов, как:

@if($address->count() !== 0)

@else
    add address
@endif

или

@if(!$address->isEmpty())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...