gpt4 book ai didi

mysql - Laravel 查询数据库到 Blade

转载 作者:行者123 更新时间:2023-11-29 02:16:12 25 4
gpt4 key购买 nike

有可能将数据库查询到 Blade 中吗?我从路由发送到 blade,所有 MyUsers 和 Booking。

进入表预订我有列 id_user,

我有这个代码

    @foreach 
{{$booking->id}}

this down Foreach is not optimized - it's possible improve it?
@foreach ($Myusers as $Myuser)
@if ($myuser == $booking->id_user)
$myuser->name
@endif
@endforeach


@endforeach

我已经尝试使用 Blade::directive,但我只能发送 stirng 值而不是 php 值。我有这个代码

Blade::directive('DettagliUtente', function($expression) {
print_r($expression);
but echo the string "$booking->id_user" but I want the value $booking->iduser
$dettaglioutente=\App\Utenti::find($var)->first();
return "<?php echo '".$dettaglioutente->name."'; ?>";
});


@DettagliUtente ($booking->id_user)

请帮帮我

最佳答案

如果你打算在 Blade 模板中做一些复杂的事情,你可以通过添加 <?php ... ?> 来完成。标记并在那里做。也就是说,请不要,这是一种不好的做法,除了简单的 IF 或模板迭代之外,您不应该有代码、查询或任何逻辑。您应该从实际代码中获取逻辑和数据,而不是在 View 上,您​​需要分离概念, View 中不应包含代码,只是向用户呈现数据。

据我所知,问题似乎是您可能希望在每个(或许多)页面上显示一些内容,当然您不希望在每个 Controller 中重复自己获取相同的数据。

因此,对于此类问题,我建议您使用 View Composers。您可以在此处查看文档:https://laravel.com/docs/5.3/views#view-composers

如何使用 View 编辑器

您在 app/Providers 中创建了一个新的 Provider , 你可以称它为 ViewComposerProvider , 在 boot()定义 View Composer 的方法:

View::composer('partials.my-books', 'App\Http\ViewComposers\MyBooksComposer');

然后你创建那个类并创建一个函数compose(View $view)在那里您可以获取数据,执行任何逻辑,最后将该数据发送到 View :

$view->with('books', $my_list_of_books);

然后,您需要做的就是将该部分模板包含到任何模板中,Laravel 会发现它需要为该部分模板调用 View 组合器。

你的基础模板:

...
@include('partials.my-books')
...

您的部分模板 app/resources/views/partials/my-books.blade.php :

<ul>
@foreach($books as $book)
<li>{{$book->name}}</li>
@endforeach
</ul>

注意:请记住,您需要注册您的提供商 ViewComposerProvider进入你的config.app

希望对您有所帮助。

关于mysql - Laravel 查询数据库到 Blade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com