用于关系的 Laravel Eloquent 和 Trimming 字段

Kie*_*ran 6 php trim relationships eloquent laravel-5

所以我有几个模型,我正在设置它们与 Laravel Eloquent ORM 一起使用......

这些模型引用的表格由第三方程序填充,我没有太多的能力进行编辑,因此我必须找到解决方法来解决以下烦恼。

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

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

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

所以我试图找出是否有某种方法可以"1234"通过修剪函数或类似"的方法在它被用于雄辩的关系之前删除它。

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

任何帮助,将不胜感激 :)

关系代码示例:

public function useractions(){
    return $this->hasMany('\App\UserActions','userid');
}



public function user(){
    return $this->belongsTo('\App\User','userid');
}
Run Code Online (Sandbox Code Playgroud)

这是来自:https ://laracasts.com/discuss/channels/eloquent/eloquent-and-trimming-relation-fields

Sam*_*era 5

您可以使用 Eloquent Raw 表达式。

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