убрать тег br, если данные пустые или нулевые в представлении лезвия laravel - PullRequest
0 голосов
/ 10 октября 2019

я показываю данные в виде блэйда следующим образом:

 @foreach($data as $dt)
<tr>
<td>
{{Helper::getDetail('mitras', $dt->pihak_1,'nama','id')}} <br>
{{Helper::getDetail('mitras', $dt->pihak_2,'nama','id')}} <br>
{{Helper::getDetail('mitras', $dt->pihak_3,'nama','id')}} <br>
{{Helper::getDetail('mitras', $dt->pihak_4,'nama','id')}} <br>
{{Helper::getDetail('mitras', $dt->pihak_5,'nama','id')}} <br>
</td>
</tr>
@endforeach

таблица выглядит так:

No | Pihak

1    Muhammad Abdul Iradat
     Muhammad Abdul Iradat
     Muhammad Abdul Iradat
     Muhammad Abdul Iradat

, но когда одна из данных пуста или пустая таблица показывает:

(пример, если данные 'pihak_4' пустые)

No | Pihak

1    Muhammad Abdul Iradat
     Muhammad Abdul Iradat
     Muhammad Abdul Iradat

     Muhammad Abdul Iradat

как удалить тег br, если данные пустые?

Я использую это, но я не знаю, как удалить тег br, если данныепустой

 {{ !empty(Helper::getDetail('mitras', $dt->pihak_2,'nama','id')) ? Helper::getDetail('mitras', $dt->pihak_2,'nama','id') :'' }}

контроллер индекса:

public function index()
{
    $title = $this->title;
    $data = DB::select('SELECT * ,
        CASE WHEN DATEDIFF(tgl_selesai, CURDATE()) <= 0 THEN "Berakhir"
        WHEN DATEDIFF(tgl_selesai, CURDATE()) < 30  THEN "Akan Berakhir"
        ELSE "Masih Berjalan"
        END status
        FROM kesepakatan_bersamas');
    return view('admin.'.$title.'.index', compact('title','data'));
}

1 Ответ

1 голос
/ 10 октября 2019

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

Таким образом, вы можете вызвать своего помощника в вашем контроллере:

$yourValues = [$dt->pihak_1, $dt->pihak_2 ...];
$details = Helper::getDetail('mitras', $yourValues,'nama','id');

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

Затем вы передадите $details в свое представление, а внутри своего представления выполните:

<td>
    @foreach($details as $detail)
        @if($detail) // checks if null value
            {{ $detail }} <br>
        @endif
    @endforeach
</td>

Надеюсь, что имеет смысл:)

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