Ricerca…
introduzione
Gli accessori e i mutatori consentono di formattare i valori degli attributi Eloquenti quando li si recupera o li si imposta sulle istanze del modello. Ad esempio, è possibile utilizzare il crittografia di Laravel per crittografare un valore mentre è archiviato nel database e quindi decrittografarlo automaticamente quando si accede a un modello Eloquent. Oltre agli accessori e ai mutatori personalizzati, Eloquent può anche eseguire automaticamente il cast dei campi data su istanze di Carbon o persino castare campi di testo su JSON.
Sintassi
- imposta l'attributo {ATTRIBUTE} (attributo $) // nel caso cammello
Definire un Accessors
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Get the user's first name.
*
* @param string $value
* @return string
*/
public function getFirstNameAttribute($value)
{
return ucfirst($value);
}
}
Ottenere Accessor:
Come puoi vedere, il valore originale della colonna viene passato all'accessorio, permettendoti di manipolare e restituire il valore. Per accedere al valore dell'accessorio, puoi semplicemente accedere all'attributo first_name
su un'istanza del modello:
$user = App\User::find(1);
$firstName = $user->first_name;
Definire un Mutatore
class User extends Model
{
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
...
}
Sopra il codice fa "criptare" ogni volta che viene impostata la proprietà della password.
$user = $users->first();
$user->password = 'white rabbit'; //laravel calls mutator on background
$user->save(); // password is bcrypted and one does not need to call bcrypt('white rabbit')
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow