1

我有一个自参考表,上面有新闻及其各自的翻译作为孩子。我要做的是查询每个父新闻的翻译语言,以显示在我的索引新闻页面中。在索引新闻页面中,我有一个表格,其中显示了我所有的父新闻:

  • 标题
  • 家长新闻语言
  • 儿童新闻语言(翻译)(这是我的问题!)
  • 编辑
  • 删除

有了这个,我想自动查看新闻的原始语言,并检查它是否已经被翻译。

我的代码是这样的:

语言
- id
- 代码


新闻- id
- parent_id
- lang_id -
标题
- 正文

楷模

语言.php

class Language extends Eloquent {

    public function news() {
        return $this->hasMany('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');
    }

}

有谁知道如何查询这样的东西?我相信这可能不是检查翻译的最佳解决方案,所以如果有人有任何简化这个想法的建议,我会很高兴收到你的来信。

谢谢,

4

1 回答 1

0
class News extends Eloquent {
    protected $table = 'newss';
    function newss(){
        return $this->hasOne('News', 'parent_id');
    }

文档说,对于自联接,请使用该hasOne方法。

然后:

News::find($news->id)->news()->whereRaw('parent_id= parent_id')->get();
于 2014-05-08T15:30:29.387 回答