是否可以修改Laravel Eloquent的默认值响应?
我有一个API,我的数据库有一个迁移payment
。我的付款有一个整数列status
。
$table->integer('status')->default(1);
我想知道是否可以通过任何函数更改默认值来更改Payment->get()
响应。
例如:
public static $status = [
1 => "Waiting for payment",
2 => "In review",
3 => "Payed",
];
并自动调用我的函数:
class Payment extends Model
{
// ...
public getStatus() {
$this->status = $status[$this->status];
}
}
几乎; 您可以更改getStatus()
为getStatusAttribute()
,这是Laravel访问器,然后只需调用:
$payment = Payment::first();
dd($payment->status);
// Or
$payments = Payment::get();
foreach($payments AS $payment){
dd($payment->status);
}
相反输出的1
,2
等等。这将覆盖值'Waiting for payment'
,'In review'
等等。
有关完整详细信息,请参见https://laravel.com/docs/6.x/eloquent-mutators#defining-an-accessor。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句