php - 在 Laravel 中获取查询关系的关系?
问题描述
我正在尝试获得主要锦标赛的氏族成员,只有一个赛季实例。
我使用tournaments
关系查询来获取主要锦标赛,然后在我刚刚获取的锦标赛模型上调用clans
关系。
除了......它不再是一个模型,我很确定它是一个查询?还是一个集合,抱歉我的理解不够,但在简单的解释中,我不能再访问关系?
clans
在查询锦标赛后仍然可以打电话的情况下,我需要帮助才能做到这一点。
这是我的模型。
class Season extends Model
{
public function clans() {
return $this->belongsToMany(Clan::class);
}
public function tournaments() {
return $this->hasMany('App\Tournament', 'season_id');
}
public function primaryTournament() {
return $this->tournaments->where('is_primary', '1');
}
}
class Tournament extends Model
{
public function clans() {
return $this->belongsToMany(Clan::class);
}
public function season() {
return $this->belongsTo('App\Season', 'season_id');
}
}
我正在努力实现这一目标:
$season = Season::all()->last();
$tournament = $season->primaryTournament();
$teams = $tournament->clans; // this is what erorrs
是什么阻止了我?
Property [clans] does not exist on this collection instance.
解决方案
试试这个$teams = $tournament->clans();
Clans 是模型上的关系函数,你需要放括号。这应该返回 Clan 类的集合。
推荐阅读
- javascript - Ext Js 中的另存为对话框
- python - 所有测试的python补丁
- vba - 在工作表 VBA 中编辑插入行功能
- xslt - xslt/saxon - 将 key() 与 collection() 一起使用:prolog 中不允许内容?
- android-tv - Searchable Android AppTv 上的 SQL 注入漏洞
- enterprise-architect - sparx Enterprise Architect BPMN 步入和退出子模型(复合模型)
- python - CNN 与 Keras 的简单二进制分类,但只得到 50% 的准确率
- php - Laravel 5.6 提交后填充字段
- python - 导致 VerifiedHTTPSConnection 对象的 GET 请求没有属性“_tunnel_host”
- python - 我在 python 中使用 tesseract 包时出错