Laravel Eloquent 和在关系中使用的修整字段

Laravel Eloquent and Trimming fields for use in relationships

所以我有几个模型,我正在设置它们用于 Laravels Eloquent ORM...

这些模型引用的表格是由第三方程序填充的,我没有太多的编辑能力,所以下面的烦恼我必须找到一个解决方法。

用户表有字符串 ID,例如:1234

其他一些表(例如操作日志)有一个字符串外国用户id,例如:"1234"

正如您可能在这里看到的那样,其他表在用户 ID 上添加了 ",因此,我不能 运行 直接通过 laravel 关系, 作为 "1234" ~= 1234...

所以我试图找出是否有某种方法可以通过 trim 函数或类似函数 运行 "1234" 删除 "s在它被用于 eloquent 关系之前。

是的,我知道添加 " 很愚蠢,如前所述,它是第三方程序。我将尝试看看他们是否可以更改该功能,但如果他们不能,我需要找到一种解决方法。

任何帮助将不胜感激:)

关系代码示例:

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

您可以使用 Eloquent 原始表达式。

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