Portál AbcLinuxu, 20. května 2024 09:09


Dotaz: Laravel z datumoveho policka neudela promennou Modelu

25.6.2023 09:13 tom
Laravel z datumoveho policka neudela promennou Modelu
Přečteno: 316×
Odpovědět | Admin
Zdravim,

hraju si tady s Laravelem 10 a narazil jsem na takovou zvlastnost. Z textovych policek DB tabulky mi Laravel automaticky udela promenne prislusneho Modelu, takze s nimi mohu pracovat napr. takto:
protected function celeJmeno(): Attribute
{
	$cele_jmeno = $this->prijmeni;
	if ($this->krestni_jmeno)
	{
		$cele_jmeno .= ' '.$this->krestni_jmeno;
	}
	
	return new Attribute(
		get: fn() => $cele_jmeno,
	);
}
Pokud je to policko ale typu "date", tak se Laravel chova jinak.
if ($this->datum_narozeni) { ... }
hlasi, ze "Undefined property: App\Models\Osoba::$datum_narozeni"

U datumovych policek musim proto pouzivat toto:
if ($this->attributes['datum_narozeni']) { ... }
Netusite prosim nekdo proc to tak je? Prip. jestli neco delam spatne?

Dekuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Gréta)
25.6.2023 09:42 tom
Rozbalit Rozbalit vše Re: Laravel z datumoveho policka neudela promennou Modelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Aha! Tak je to jako vzdycky -> jsem debil

Mam v modelu nefunkcni Accessor:
protected function datumNarozeni(): Attribute
{
    ...
}
A divim se, ze me zlobi:
$this->datum_narozeni
Tak dobry, tak zas nekdy... :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.