繁体   English   中英

Laravel - 更改默认值 eloquent

[英]Laravel - Change default value eloquent

是否可以修改来自 Laravel Eloquent 的默认值响应?

我有一个 API 并且我的数据库有一个迁移payment 我的付款有一栏 integer status

$table->integer('status')->default(1);

我想知道是否可以使用任何 function 更改默认值以更改 Payment- Payment->get()响应。

例如:

public static $status = [
    1 => "Waiting for payment",
    2 => "In review",
    3 => "Payed",    
];

并自动调用我的 function:

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);
}

而不是输出12等,这将覆盖'Waiting for payment''In review'等的值。

有关完整详细信息,请参阅https://laravel.com/docs/6.x/eloquent-mutators#defining-an-accessor

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM