W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
除了將自定義類型轉(zhuǎn)換附加到模型之外,您還可以附加一個實(shí)現(xiàn) Illuminate\Contracts\Database\Eloquent\Castable
接口的類:
protected $casts = [
'address' => \App\Models\Address::class,
];
實(shí)現(xiàn) Castable
接口的對象必須定義一個 castUsing
方法,該方法返回負(fù)責(zé)在 Castable
類之間進(jìn)行轉(zhuǎn)換的自定義 Caster
類的類名:
<?php
namespace App\Models;
use Illuminate\Contracts\Database\Eloquent\Castable;
use App\Casts\Address as AddressCast;
class Address implements Castable
{
/**
* 獲取強(qiáng)制轉(zhuǎn)換目標(biāo)時要使用的強(qiáng)制轉(zhuǎn)換類的名稱
*
* @param array $arguments
* @return string
*/
public static function castUsing(array $arguments)
{
return AddressCast::class;
}
}
當(dāng)使用 Castable
類時,您仍可以在 $casts
中定義參數(shù)。 參數(shù)將直接傳遞到 Caster
類:
protected $casts = [
'address' => \App\Models\Address::class.':argument',
];
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: