我和Laravel有点问题。我对它很新,我正在尝试为我的一些内容创建一个multilang模型。
这是我的配置:
数据库:
表公寓:
1 id int(10)
2地址varchar(255)
3邮政编码int(11)
4 city varchar(255)
5国家varchar(255)
6 created_at时间戳
7 updated_at timestamp
表appartement_langs
1 id int(10)
2 language_id int(11)
3 appartement_id int(11)
4 title varchar(255)
5副标题varchar(255)
6描述文字
7 created_at时间戳
8 updated_at timestamp
表格语言
1 id int(10)
2 locale varchar(255)
3 created_at时间戳
4 updated_at timestamp
所以基本上我有language_id和appartement_id。
在我的Appartement模型中,我有以下内容:
<?php
class Appartement extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function gallery()
{
return $this->hasMany('Gallery');
}
public function languages()
{
return $this->hasMany('AppartementLang', 'language_id');
}
public function lang()
{
return $this->hasOne('AppartementLang');
}
}
当我尝试获得字段$ appartement-&gt; lang() - &gt;标题时我什么都没得到。
你能给我一个暗示吗?因为我真的不知道如何处理这个:)。非常感谢。
答案 0 :(得分:3)
当您使用lang()
时,实际上是在返回部分构建的查询(因此您可以添加其他条件等等。)
如果您想要检索语言模型,您只需使用lang
。
所以:
$appartement->lang->title
如果您var_dump()
lang()
,您将亲眼看到。
在Laravel documentation中,您会看到他们的关系示例调用:
$phone = User::find(1)->phone;