laravel - 如何获取 Laravel belongsTo 关系的所有记录(相关和非相关)?
问题描述
如何从关系中获取所有记录?我指的不仅是相关记录,还有其他记录。
假设我有一个属于某个类别的帖子。如果我想更改这篇文章的类别,我需要一个所有可用类别的列表。我可以从关系中得到这个列表吗?
邮政模型:
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 模型,但我更喜欢使用关系。
解决方案
如果你觉得你必须使用这种关系来获得另一个模型,你可以尝试:
$categories = $post->category()->getRelated()->get();
推荐阅读
- python - Python C++浮点数学表示错误
- tensorflow - 我使用 tf.data.TFRecordDataset 读取 tfcord ,为什么我读取的数据不正确
- php - 用于两个独立查询的 PHP mysqli_fetch_assoc
- sql-server - SSMS:即使启用了选项,也禁用了“生成更改脚本”
- javascript - 使用 fo:external-graphic XSL 从外部 http URL 加载图像
- spring-boot-admin - 成功登录后 Spring Boot Admin Server 重定向到 login.html
- shell - 如何在 shell 脚本中自动读取命令?
- c++ - 我可以避免包括
如果我不使用它的功能? - javascript - 类属性内对象内的 vue v2 值已更改,但未更改
- c# - 从会话中检索到的表未显示在页面中