php – Laravel 5数据透视表问题
发布时间:2020-12-14 19:39:06 所属栏目:大数据 来源:网络整理
导读:我不知道如何解释我的问题,但我会试一试. 我正在使用Laravel 5,我有3个表: 页面 语言 language_page 这就是我的模型: 页面模型: public function languages(){ return $this-belongsToMany('AppLanguage','language_page') -withPivot('title','content'
我不知道如何解释我的问题,但我会试一试.
我正在使用Laravel 5,我有3个表: >页面 这就是我的模型: public function languages() { return $this->belongsToMany('AppLanguage','language_page') ->withPivot('title','content','slug','meta_title','meta_description') ->orderBy('main','desc'); } 语言模型: public function pages() { return $this->belongsToMany('AppPage') ->withPivot('title','meta_description'); } 我想要做的是从页面表返回一条记录,其中language_id是某个id,而slug是某个文本. 这就是我到目前为止所做的:编辑: Page::with(['languages' => function($q) use($language_id,$slug) { $q->where('language_id',$language_id); $q->wherePivot('slug',$slug); }]) ->first(); 我的问题:如何使用列slug(来自数据透视表language_page)添加where子句? 我希望这根本没有任何意义.. 解决方法
Eloquent的BelongsToMany班有一个
wherePivot() 允许您直接将WHERE子句应用于数据透视表的方法,请参阅: https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php#L111 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |