kr27
21.05.2015, 21:54:18
$model = new ConfigurationDashboard;
$model->create(Request::all());
i w wyniku tego mam błąd:
QueryException in Connection.php line 620: SQLSTATE[42601]: Syntax error: 7 BŁĄD: błąd składni w lub blisko ")"
LINE 1: insert into "us_panel_startowy" () values () returning "id_p...
^ (SQL: insert into "us_panel_startowy" () values () returning "id_panel_startowy")
Dlaczego Laravel nie widzi pól dla SQL'a pomimo tego, że podałem w modelu tablicę $fillable.
Miał ktoś podobny problem?
Pyton_000
22.05.2015, 07:36:21
bo Request::all() jest puste?
dd(\Request::all());
kr27
22.05.2015, 10:04:23
Request::all() zawiera dane. Gdyby nawet było puste to powinien utworzyć rekord z NULL-ami (tak mi się wydaje).
Używam bazy PostgreSql.
Pyton_000
22.05.2015, 10:19:32
Pokaż model i jesteś na 100% pewny że Request::all() zwraca dane?
kr27
22.05.2015, 20:33:10
Już wiem o co chodzi.
Wszystko przez:
public function __construct
(array $parameters = null) {
}
Jak wywale konstruktor to działa.
Nie pomaga też odpalenie parent::__construct();
Rozwiązanie problemu dla potomnych:
public function __construct
(array $parameters = null) {
$this->fill($parameters);
}
Parę godzin w plecy:)
Pyton_000
23.05.2015, 11:09:59
A możesz powiedzieć po kiego wałka Ci konstruktor w modelu?
kr27
23.05.2015, 11:17:46
Po to, że przekazuje tam dodatkowe zmienne (w przykładzie je usunąłem) podczas inicjacji z kontrolera.
Pyton_000
23.05.2015, 11:40:44
To do takich rzeczy używa się Repositories które tworzą model, ustawiają co tam chcesz i ew. zwracają Ci model.
Sam model nie powinien mieć takich udziwnień.
kr27
23.05.2015, 12:10:04
Dziękuję za informacje. Zapewne w moim projekcie mam masę rzeczy, które powinny być zrobione inaczej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.