I have a question with my if statement. I want to get check what is bigger than another price value. one value is saved in my database table and another one is getting with input value. but I wrote some if statement it isn’t working.
this is my table stored price column structure.
x
rest_payment -> double(11, 2)
and I got another value using request
$payment = $request->input('payment');
my controller function like this
$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!');
}
can anyone help me to fix this error?
Advertisement
Answer
Your $checkRestPayment
is a Model
object. In order to compare the field, you need to reference the rest_payment
attribute:
if($checkRestPayment->rest_payment < $payment)
What you could also do is let the database do the comparison for you:
// 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!');
}