我对if语句有疑问。我想检查一下什么大于另一个价格值。一个值保存在我的数据库表中,另一个值与输入值一起获得。但是我写了一些if语句不起作用。
这是我的表存储价格列结构。
rest_payment -> double(11, 2)
我通过请求获得了另一个价值
$payment = $request->input('payment');
我的控制器功能
$checkRestPayment = DB::table('sales')
->select('rest_payment')
->where('bill_no', $request->input('bill_no'))
->first();
$payment = $request->input('payment');
if($checkRestPayment < $payment)
{
return back()->with('error', 'Your payment value exceed rest payment value in this bill no!');
}
有人可以帮助我解决此错误吗?
答案 0 :(得分:3)
$checkRestPayment
是一个完整的模型–您需要标注rest_payment
:
if ($checkRestPayment->rest_payment < $payment)
答案 1 :(得分:2)
您的$checkRestPayment
是Model
对象。为了比较该字段,您需要引用rest_payment
属性:
if($checkRestPayment->rest_payment < $payment)
您还可以做的是让数据库为您做比较:
// this is now a boolean
$hasRestPayment = DB::table('sales')
->where('bill_no', $request->input('bill_no'))
->where('rest_payment', '<', $request->input('payment'))
->exists();
if($hasRestPayment)
{
return back()->with('error', 'Your payment value exceed rest payment value in this bill no!');
}