Mysql Laravel-查询自引用表
我有一个自参考表格,里面有新闻和它们各自的翻译。我要做的是查询要在索引新闻页面中显示的每个父新闻的翻译语言。 在“索引新闻”页面中,我有一个表,其中显示了我的所有父新闻,其中包括:Mysql Laravel-查询自引用表,mysql,laravel-4,multilingual,self-referencing-table,Mysql,Laravel 4,Multilingual,Self Referencing Table,我有一个自参考表格,里面有新闻和它们各自的翻译。我要做的是查询要在索引新闻页面中显示的每个父新闻的翻译语言。 在“索引新闻”页面中,我有一个表,其中显示了我的所有父新闻,其中包括: 头衔 父新闻语言 儿童新闻语言(翻译)(这是我的问题!) 编辑 删除 有了这个,我想自动看到新闻的原始语言,并检查它是否已经被翻译 我的代码是这样的: 桌子 语言 -id -代码 新闻 -id -家长id -语言id -标题 -身体 模型 Language.php class Language extends E
- 头衔
- 父新闻语言
- 儿童新闻语言(翻译)(这是我的问题!)
- 编辑
- 删除
-id
-代码 新闻
-id
-家长id
-语言id
-标题
-身体 模型 Language.php
class Language extends Eloquent {
public function news() {
return $this->hasMany('News');
}
}
News.php
class News extends Eloquent {
protected $table = 'newss';
public function language() {
return $this->belongsTo('Language','lang_id');
}
public function parent_news() {
return $this->belongsTo('News','parent_id');
}
public function child_news() {
return $this->hasMany('News','parent_id');
}
}
有人知道如何质疑这样的事情吗?
我相信这可能不是检查翻译的最佳解决方案,因此,如果有人有任何简化此想法的建议,我将非常高兴听到您的建议
谢谢
class News extends Eloquent {
protected $table = 'newss';
function newss(){
return $this->hasOne('News', 'parent_id');
}
文档中说,对于自连接,使用hasOne
方法
然后:
.谢谢狼人,你的文章现在对我来说似乎有点让人不知所措,但我会尽力消化的。。我所尝试的似乎很有意思。最后把child_news()改为translation(),以便更具可读性。最后我只需要这个@if($news->translations->count())@foreach($news->translations as$translation){{{{$translation->language->code}}@endforeach
News::find($news->id)->news()->whereRaw('parent_id= parent_id')->get();