在Eloquent上使用IF语句

时间:2016-11-17 17:41:00

标签: php laravel if-statement eloquent

有一种方法可以在eloquent上使用IF语句吗?

我有一张名为'发票' ..

invoices(invoiceId,debt,status)

状态表示发票是否已付款,债务是发票上的债务。 我问是否有一种快速的方式来更新状态,以便我付款时..

if invoice.debt = 0 then invoice.status = 0
else invoice.status = 1

我正在使用laravel 5.3。谢谢!

2 个答案:

答案 0 :(得分:0)

您似乎正确地走了,

您可以这样做:

$invoice = Invoice::find(1);
$status = ($invoice->debt == 0) ? 0 : 1;

$invoice->status = $status;
$invoice->save();

希望这有帮助!

答案 1 :(得分:0)

使用mutators

public function setDebtAttribute($debt)
{
    $this->attributes['debt'] = $debt;
    $this->attributes['status'] = $debt ? 1 : 0;
}