Salut à tous,

Actuelment j'ai un modèle que je récupère ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$settings = Setting::where(['name' => Setting::LAST_SYNC])->firstOrFail();
Sauf que ce qui m'intéresse réellement c'est pas de récupérer un modèle complet mais uniquement la valeur correspondante. Et comme je vais avoir besoin de la récupérer à plusieurs endroit je me suis dit qu'il serait plus simple d'avoir une méthode dans mon model du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Setting extends Model
{
    protected $guarded = [];
    const LAST_SYNC = 'lastsync';
 
    public static function getLastSyncDate() {
        $value = self::select('value')->where(['name' => self::LAST_SYNC])->first();
        return $value->value;
    }
}
//
// Ailleurs dans le code
 
$lastsync = Setting::getLastSyncDate();
Sauf que ,
- Je ne peut pas appeler self::select , il attends une instance du model et non un appel static.
- J'ai l'impression que c'est pas très "laravel" comme fonctionnement.

Quel serait la bonne façon de faire ?