【发布时间】:2015-10-31 22:01:48
【问题描述】:
有没有办法根据自定义外键值创建 Eloquent 关系函数?
例如我有等级关系:
public function level(){
return $this->belongsTo(Level::class, 'level_number', 'number');
}
我想做这样的事情:
public function nextLevel(){
return $this->belongsTo(Level::class)->where('number', '=', $this->level_number + 1);
}
这是可能的还是我必须编写一个原始查询?
【问题讨论】:
-
是的,您希望得到 1 个或多个结果吗?
-
然后添加
return $this->hasOne(level::class);' then in your controller via a closure on your relationship$var = Level::with('nextLevel,function($q){ $q->where('level_number', '=', $current_level_num+1); })->first();` -
-
那么当你经营你当前的关系时会发生什么?
-
它不起作用。这只是我想做的一个例子。
标签: php laravel eloquent laravel-5.1