mam napotkasz problem, i to jest naprawdę tylko drobna niedogodność, ale ...laravel - oskubać zmutowane atrybut
Zasadniczo co potrzebne jest tablicą asocjacyjną dla wybranej skrzynki. Normalnie można to osiągnąć za pomocą funkcji pluck()
.
Problem polega na tym, że atrybut, którego chcę użyć jako "tekstu" w rzeczywistości nie istnieje w bazie danych, jest mutatorem, który łączy dwa pola w jeden.
public function getNameAttribute() {
return $this->first_name . ' ' . $this->last_name;
}
wiem, że dodanie pola 'name'
do tablicy $appends
modelu obejmie to pole podczas odlewania model do tablicy, to jednak nie wydaje się, aby pracować z pluck()
Czy istnieje prosty sposób osiągnąć pragnienie, które chcę? Funkcja lub deklaracja, których mi brakuje? Czy jest coś bardziej elokwentnego niż ręczne zapętlenie kolekcji i tworzenie własnej tablicy skojarzonej?
Aktualizacja Jestem idiotą. Przekazałem tablicę do skubania zamiast dwóch parametrów. Najwyraźniej zrzucenie używa atrybutu $appends
. Uwaga: działa to tylko w przypadku pracy z kolekcjamiNOT Konstruktor zapytań $queryBuilder->pluck('mutatedValue', 'id');
Dzięki za pomoc, chłopaki.
Okazało się, że nie musiałem robić tego mimo wszystko, ale +1 do tej pory dla nieco eleganckiej odpowiedzi. –