laravel - Laravel- 从 hasMany 中获取第一个元素?
问题描述
我正在尝试获取每个类别的第一个元素。
Category Class
public function product()
{
return $this->hasMany(Product::class, 'category_id', 'id');
}
public function first_product()
{
return $this->product()->limit(1);
}
这是我的查询
$categories = Category::with('first_product')->get();
我得到了第一个产品只有类别的第一个元素。为什么?
解决方案
试试这个hasOne()来获取单个数据
public function first_product()
{
return $this->hasOne(Product::class);
}
然后
$categories = Category::with('first_product')->get();
推荐阅读
- php - Css 更改锚文本不适用于 PHP/Laravel
- javascript - 将 XML 转换为 JSON 时如何解决编码问题?
- svelte - 故事书黑暗模式导致黑屏
- mongodb - 使用spring boot将FTP服务器中检索到的文件上传到mongodb集合
- npm - 哟生成器代码未安装在 Linux PC 上
- excel - VBA代码删除工作表中的额外行,数千行显着减慢
- string - 程序不接受第一个输入?
- node.js - 如果在 express-validator 中使用 .if(myCondition).optional() 可能满足条件,则使字段可选?
- java - 依赖 jar 中文件的 Maven 路径
- powerbi - 从 Power BI 中的视觉对象取消数据透视表