我有3张表PhotoCategories、PhotoDetail和Photo 表: PhotoCategories

照片类别
id
名称

PhotoDetail个个

PhotoDetail
id
名称
照片类别id

Photo个个 图片 Id 图片 照片_细节_id

型号: PhotoCategories

class PhotoCategories extends Model
{

    public function photo_detail()
    {
        return $this->hasMany(PhotoDetail::class);
    }

    public function photos() : HasManyThrough
    {
        return $this->hasManyThrough(
            Photo::class,
            PhotoDetail::class,
            'photo_detail_id',
            'photo_categories_id',
            'id',
            'id');
    }
}

PhotoDetail个个

class PhotoDetail extends Model
{
    public function photo_categories() {
        return $this->belongsTo(PhotoCategories::class, 'photo_categories_id');
    }

    public function photos() {
        return $this->hasMany(Photo::class);
    }
}

Photo

class Photo extends Model
{
    public function photo_detail() {
        return $this->belongsTo(PhotoDetail::class);
    }
}

我想用一张照片的图像显示所有照片类别的名称,但我不知道如何在控制器和Blade 中调用模型

我想获得所有照片类别的名称与一张照片的图像

推荐答案

你有一些错误,但无论如何我会给查询, PhotoCategories模型应命名为PhotoCategory,表名为photo_categories.

现在你可以做这样的事情了.

use App\Models\PhotoCategories;

public function index()
{
    $photoCategories = PhotoCategories::with('photos')->get();
    return view('view', compact('photoCategories'));
}

在您的Blade 视图中,您将按如下方式遍历$PhotoCategories.

@foreach($photoCategories as $category)
    <h2>{{ $category->name }}</h2>
    @if($category->photos->count() > 0)
        @foreach($category->photos as $photo)
            @if ($photo->image)
                <img src="{{ asset('public_folder_path/' . $photo->image) }}">
            @endif
        @endforeach
    @else
        <p>No photos available for this category.</p>
    @endif
@endforeach

Php相关问答推荐

邮箱打开跟踪器不工作时发送邮件使用laravel调度程序

Symfony/Panther Web抓取不适用于登录后的内容(云功能)

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

无法使用php IMAP从Gmail获取收件箱

使注册字段UserMeta值对于WooCommerce中的每个用户是唯一的

是否重新排序多维数组元素以将所有子数组中的子数组移动到元素列表的底部?

在PHP中使用curl命令执行SCRAPYD操作.json不返回任何内容

Laravel服务Provider 没有向服务类注入价值

在WooCommerce上克隆订单时使用`add_product()`添加产品元数据

如何在WordPress REST API中判断应用程序密码

拉威尔10有许多通过获取所有祖父母数据的子元素S图像

如果所有请求都通过index.php路由,如何使用htaccess文件强制使用HTTPS?

如何显示所有数组数据而不仅仅是最后的结果

致命错误:未捕获 Google_Exception:客户端机密 JSON 文件无效.在 /somepath/lib/vendor/google/apiclient/src/Google/Client.php

设置GA4 PHP API的setSubject以允许访问所有管理员账户属性

如何在WooCommerce管理产品列表中显示运输类别列

在这个 Laravel 应用中,如何仅显示已批准的 comments 回复?

PHP 合并/合并多维数组

在帖子内容中使用短代码触发 Woocommerce 挂钩

使用 Eloquent 更新现有的外键值