W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有時候,你可能只需要對寫入模型的屬性值進行類型轉(zhuǎn)換而不需要對從模型中獲取的屬性值進行任何處理。一個典型映射類型轉(zhuǎn)換的例子就是 「hashing」。類型轉(zhuǎn)換類需要實現(xiàn) CastsInboundAttributes
接口,只需要定義 set
方法。
<?php
namespace App\Casts;
use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes;
class Hash implements CastsInboundAttributes
{
/**
* 哈希算法
*
* @var string
*/
protected $algorithm;
/**
* 創(chuàng)建一個新的類型轉(zhuǎn)換類實例
*
* @param string|null $algorithm
* @return void
*/
public function __construct($algorithm = null)
{
$this->algorithm = $algorithm;
}
/**
* 轉(zhuǎn)換成將要進行存儲的值
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param array $value
* @param array $attributes
* @return string
*/
public function set($model, $key, $value, $attributes)
{
return is_null($this->algorithm)
? bcrypt($value)
: hash($this->algorithm, $value);
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: