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