как узнать значение в таблице EAV заполнено или нет - PullRequest
0 голосов
/ 12 января 2020

У меня проблема здесь, я использую базу данных с моделью EAV (Entity Artibute Value), здесь я получаю данные в виде where user_id = $ id -> get (), и на блейде я хочу создать условие, если только один данные в $ user имеет значение в столбце описания, поэтому он вызовет кнопку из описания, содержащего содержимое этой таблицы моего sampel

_______________________________________
|id|user_id|name    |description       |
|1| 2      |micahel |                  |
|2| 2      |micahel |                  |
|3| 2      |micahel |                  |
|4| 2      |micahel |www.google.com    |
|5| 3      |jackson |                  |
|6| 3      |jackson |                  |
|7| 3      |jackson |                  |


$table = DB::table(description)->where(user_id,$id)->get();

, поэтому я ожидаю, что если есть только одна информация, которую я Возьмите где значение в столбце значения, это вызовет кнопку href, я пытаюсь с

@if($table->description!=0)
<a href="{{$table->description}}">go to description</a>
@else
This user has no description
@endif

Я пытаюсь это, но это не работает

Property [description] does not exist on this collection instance

1 Ответ

1 голос
/ 12 января 2020

Если вы попытаетесь "d ie и сбросить" (dd($table)) содержимое $table, вы увидите, что на самом деле это коллекция.

Если вы ожидаете только одну строку в Для возврата вашего запроса вы можете использовать first() вместо get(). get() всегда будет возвращать Collection, даже если есть только 1 или 0.


Я хочу добавить, что @if($table->description!=0) не будет работать в любом случае, так как никогда не будет not 0, поскольку пустой результат будет либо null, либо пустой строкой. Чтобы проверить, содержит ли description значение, я бы использовал empty(), например: @if(!empty($row->description)).

...