gpt4 book ai didi

php - Laravel 类似 PDO::FETCH_ASSOC 的方法是什么?

转载 作者:行者123 更新时间:2023-11-29 05:59:29 24 4
gpt4 key购买 nike

我正在使用 Laravel Framework 5.3 更新我的 php PDO 网站。我发现 Laravel 非常易于使用,但有几个函数我不知道实现结果的语法。

我有一个 Laravel Controller

 public function index(){

$posts = Post::latest()->get();

return view('/home', compact('posts'));
}

我在 Blade 中使用它来使用 foreach 循环获取数据

@foreach ($posts as $row)

@endforeach

类似于PDO中的fetchAll()方法

$row = $posts->fetchAll();

现在我想让逻辑像结果一样获取 fetch(PDO::FETCH_ASSOC),这样我就可以分配

$row = $posts->fetch(PDO::FETCH_ASSOC);

我必须这样做,因为我想在 Blade 中使用 for 循环来显示数据,如果我使用 foreach 循环,那么它会为迭代结果创建重复。以下是我必须使用 Laravel 更新的 PDO 代码

for($i=0; $i<$count_photos; $i++){

$row_gallery = $get_photos->fetch(PDO::FETCH_ASSOC);

$pst_id = $row_gallery['post_id'];
$img = $row_gallery['img_name'];


echo '<div class="img_gallery"><div class="gallery'.$i.'"><a href="uploads/'. $img . '" data-lightbox="'.$pst_id.'"> <img class="img-responsive" src="uploads/'. $img . '"></a></div></div>';

}

最佳答案

当您使用 get() 时,模型已经被获取,因此您将能够立即访问模型的属性,例如

@foreach ($posts as $post)

{{ $post->title }} //assuming you have a "title" column in the database

@endforeach

您可能会发现这有帮助:https://laracasts.com/series/laravel-from-scratch-2017/episodes/7


编辑

如果您在Post 模型中设置了photos 关系,那么您可以eager load的关系。此外,由于您只想加载一篇文章,因此可以使用 first() 而不是 get(),因此您最终会得到以下内容:

Controller :

public function index()
{
$post = Post::with('photos')->latest()->first();

return view('/home', compact('post'));
}

Blade 文件

@foreach($post->photos as $k => $photo)
<div class="img_gallery">
<div class="gallery{{ $k }}">
<a href="{{ url('uploads/'.$photo->img_name) }}" data-lightbox="{{ $post->id }}">
<img class="img-responsive" src="{{ url('uploads/'.$photo->img_name) }}">
</a>
</div>
</div>
@endforeach

关于php - Laravel 类似 PDO::FETCH_ASSOC 的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46242992/

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