gpt4 book ai didi

php - Laravel 4 - 从另一个表的字段获取值并连接到查询

转载 作者:行者123 更新时间:2023-11-29 23:54:37 25 4
gpt4 key购买 nike

我在尝试执行此查询时遇到了很多麻烦。我对 Laravel 4 还很陌生,所以放轻松。

我有两张 table 。上传和相册。目前,我正在尝试根据用户 ID 输出所有相册,并获取与该相册关联的上传的最新缩略图。

这是我当前使用的代码:

DB::table("albums")
->select("albums.*","uploads.thumbnail")
->join("uploads", "uploads.albumid", "=", "albums.id")
->where("albums.userid", "=", Auth::user()->id)
->orderBy("uploads.id", "ASC")
->get()

输出错误。输出显示的内容几乎相反。它循环遍历上传内容,而不是专辑,并检索专辑表的第一条记录。

(
[0] => stdClass Object
(
[id] => 1
[userid] => 1
[private_code] => PJ3r6Ps3c5rRrceKRLvWmpk4o5GvHKHk7QCUnRkTmlwUnxnjmL9kVaOa1N4Tm124
[slug] => album-test-1
[name] => Album test 1
[description] => Album test 1
[privacy] => Public
[created_at] =>
[updated_at] =>
[thumbnail] => 6s/zj/4e/6SZj4Ev409fU2b3NYHzgW7O9Jn3MFeDb_thumbnail.jpg
)

[1] => stdClass Object
(
[id] => 1
[userid] => 1
[private_code] => PJ3r6Ps3c5rRrceKRLvWmpk4o5GvHKHk7QCUnRkTmlwUnxnjmL9kVaOa1N4Tm124
[slug] => album-test-1
[name] => Album test 1
[description] => Album test 1
[privacy] => Public
[created_at] =>
[updated_at] =>
[thumbnail] => 17/zs/11/17zs11CwBKsPilpeMVjH7A7gTEcRxb4P_thumbnail.jpg
)
)

我想循环浏览相册,同时检索该相册最近上传的缩略图以用作该相册的缩略图。

最佳答案

有些工作 Eloquent 更适合。由于此操作不会比较 2 个连接表之间的字段,因此您将获得更好的性能并且更轻松地使用 Eloquent,因为它使用 2 个单独的 SELECT 查询。

专辑型号:

public function uploads() { return $this->hasMany('Upload', 'albumId') }

上传模型:

public function album() { return $this->belongsTo('Album', 'albumId') }

查询:

$albums = Album::with(['uploads' => function($query){
$query->orderBy('created_at', 'desc')->take(1);
}])->where('userId', Auth::user()->id)->get();

通过以下方式获取 View 中的缩略图:

@foreach($albums as $album)
{{ $album->uploads->first()->thumbnail }}
@endforeach

关于php - Laravel 4 - 从另一个表的字段获取值并连接到查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25434731/

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