所以我有几个模型,我正在设置它们以与 Laravels Eloquent ORM 一起使用...
这些模型引用的表格是由第三方程序填充的,我没有太多的编辑能力,所以我必须找到解决以下烦恼的方法。
用户表有字符串 ID,例如:1234
一些其他表(例如操作日志)有一个字符串外国用户 ID,例如:"1234"
正如您在这里可能看到的那样,其他表在用户 ID 上添加了一个 "
,因此,我无法通过 laravel 关系直接运行它,如 "1234 "
~= 1234
...
所以我试图找出是否有某种方法可以通过修剪函数或类似函数运行 "1234"
以删除它之前的 "
在 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 Raw 表达式。
public function useractions(){
return \App\UserActions::Where(DB::raw("TRIM(userid)"), $this->userid)->get();
}
关于php - 关系中使用的 Laravel Eloquent 和 Trimming 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42449877/