【发布时间】:2021-08-05 20:25:07
【问题描述】:
我想在我的 eloquent 查询中进行总和数学计算。我有一个变量,它必须是我的一些数据库文件的倍数,如果超过 3000,那么父项必须在我的结果中。
1)珠宝模型:
class Jewel extends Model
{
use HasFactory;
public function jewelsItems(){
return $this->hasMany('App\Models\JewelsItem');
}
}
2)JewelsItem 模型:
class JewelsItem extends Model
{
//has weight,fee field
use HasFactory;
protected $table = 'jewel_items';
public function jewel(){
return $this->belongsTo('App\Models\Jewel');
}
}
查询必须让我得到所有至少有一个有 (weight*($varibale+fee)) > 5000 的 JewelsItem 的珠宝。
注意1: $varibale 不是数据库字段。
note2:我不想使用原始表达式,因为他们的漏洞。
【问题讨论】:
-
很确定你必须为此使用
DB::raw,不确定你的意思是什么漏洞,因为 laravel 为你逃脱了一切。 -
好的,我怎样才能以这种方式防止 SQL 注入?@thursday_dan
-
这就是我说的laravel会自动完成,你不需要采取任何额外的步骤。
标签: laravel eloquent laravel-query-builder