Как написать подобный код в PHP Laravel? - PullRequest
0 голосов
/ 21 января 2020

Как написать подобный код в Laravel. Ниже нормального PHP код работает нормально.

<?php 
    foreach ($snippets as $post) {
        $userdata = App\Models\Constant_model::getDataOneColumn('users', 'id', $post->listed_by)->get();
        $userpicture = $userdata[0]->email;
?>
<?php echo $userpicture; ?>

<?php } ?>

Но я хочу изменить это так в Laravel.

@foreach ($snippets as $post)
    $userdata = App\Models\Constant_model::getDataOneColumn('users', 'id', $post->listed_by)->get();
    $userpicture = $userdata[0]->email;
    {{$userpicture}}
@endforeach

Результат, который я получаю,

$userdata = App\Models\Constant_model::getDataOneColumn('users', 'id', $post->listed_by)->get();
$userpicture = $userdata[0]->email;

1 Ответ

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

Когда вы используете шаблон лезвия, вы не можете просто смешивать с кодом PHP. Потому что шаблон лезвия на самом деле HTML кодов. Директива blade (@foreach, {{}} et c) на самом деле является сокращением для кода PHP.

Я предлагаю обрабатывать данные выборки из контроллера, а View должен быть только для отображения данных. Но если вы настаиваете, вы можете использовать директиву @ php.

@foreach($snippets as $post)

    @php
       $userdata = App\Models\Constant_model::getDataOneColumn('users','id', $post->listed_by)->get();
       $userpicture = $userdata[0]->email;
    @endphp

    {{$userpicture}}


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