如何获取Laravel所有关系的记录(相关和不相关)?

问题描述 投票:0回答:1

我如何从关系中获取所有记录?我的意思不仅是相关记录,还有其他。可以说我有一个帖子属于某个类别。如果要更改此帖子的类别,我需要所有可用类别的列表。我可以从关系中获得此列表吗?

The Post model

class Post extends Model
{
    public function category()
    {
        return $this->belongsTo('App\Category');
    }
}

类别模型

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    public function posts()
    {
        return $this->hasMany('App\Post');
    }
}

PostsController中,我尝试过:

$postModel->category->find('all'); // Returns null
$postModel->category->all(); // Returns only the related categories

我知道我可以在PostsController中简单地使用Category模型,但是我倾向于使用这种关系。

laravel eloquent relationship belongs-to
1个回答
1
投票

如果您认为必须使用该关系才能进入其他模型,则可以尝试:

$categories = $post->category()->getRelated()->get();
© www.soinside.com 2019 - 2024. All rights reserved.