所以我已经设置了几个与Laravels Eloquent ORM一起使用的模型...
这些模型所引用的表格是由第三方程序填充的,我没有太多的编辑能力,所以下面的烦恼我必须找到解决办法。
users表具有字符串ID,例如:1234
其他一些表(例如操作日志)有一个字符串外来用户ID,例如:"1234"
正如您可能在此处看到的那样,其他表格会在用户ID上添加"
,因此,我无法直接通过laravel关系运行它,如"1234"
〜 = 1234
...
所以我试图找出是否有某种方法可以通过修剪函数或类似方法运行"1234"
以删除"
s,然后才能在雄辩的关系中使用它
是的,我知道添加"
是愚蠢的,如上所述,它是第三方程序。我试着看看他们是否可以改变这种功能,但是如果他们做不到,我需要找到一种方法来解决它。
任何帮助将不胜感激:)
关系代码示例:
public function useractions(){
return $this->hasMany('\App\UserActions','userid');
}
public function user(){
return $this->belongsTo('\App\User','userid');
}
这是来自https://laracasts.com/discuss/channels/eloquent/eloquent-and-trimming-relation-fields
的交叉点答案 0 :(得分:3)
您可以使用Eloquent Raw表达式。
public function useractions(){
return \App\UserActions::Where(DB::raw("TRIM(userid)"), $this->userid)->get();
}