【发布时间】:2015-01-18 22:48:31
【问题描述】:
术语表
- term_id
- 姓名
- 蛞蝓
Term_taxonomy 表
- term_taxonomy_id
- term_id
- 说明
我想显示所有记录,如“term_id、name、description
我的术语模型
public function TermTaxonomy(){
return $this->hasOne('TermTaxonomy');
}
我的术语分类模型
public function Term(){
return $this->belongsTo('Term');
}
我的路线
$term = new Term;
$categories = $term->all(['term_id', 'name']);
foreach($categories as $category){
echo $category->term_id . " " . $category->name . " " . "description of term_id should here" ;}
尝试此代码但错误未定义属性:Illuminate\Database\Eloquent\Collection::$TermTaxonomy
$e = new Term;
$f = $e->all(['term_id','name']);
echo $f->TermTaxonomy->description;
}
使用上面的代码,我想返回每个 term_id 的所有描述,但我很困惑为什么如果对象只有 1,我可以显示描述,如下面的代码
$a = new Term;
$b = $a->all(['term_id','name'])->find(8);
echo $b->TermTaxonomy->description . "<br>"; // work return description of $b;
那么究竟什么是一对一关系函数?只有当对象只有 1 时,一对一才有效?
在我的情况下呢?使用关系方法显示所有描述是我的逻辑错误吗?那么我必须怎么做才能显示术语 ID、名称、描述列表?
提前感谢,我是 laravel 的新手。
【问题讨论】: