用于人际关系的Laravel Eloquent和Trimming字段

时间:2017-02-24 23:16:06

标签: php laravel-5 eloquent trim relationships

所以我已经设置了几个与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

的交叉点

1 个答案:

答案 0 :(得分:3)

您可以使用Eloquent Raw表达式。

public function useractions(){
    return \App\UserActions::Where(DB::raw("TRIM(userid)"), $this->userid)->get();
}