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();
}
所以我有几个模型,我正在设置它们用于 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();
}