tworzenie metody łańcuchowej w laravel
Próbowałem stworzyć własną metodę łańcuchową w elokwentny sposób, ale brakuje mi czegoś i nie jestem pewien co. Może to brzmieć trochę orzechowo, ale spójrz na moją funkcję poniżej, aby lepiej zrozumieć, co próbuję powiedzieć.
class Post extends Eloquent{
public static function custom_wh($data){
return static::where_in('categories_id', $data, 'AND');
}
}
//this works fine
$posts = Post::custom_wh(array(1, 2, 3))->get();
//but this says custom_wh is not defined in the query class
$posts = Post::where_in('tags', array(2, 3, 4), 'AND')->custom_wh(array(1, 2, 3))->get();
jeśli dobrze rozumiem, moja metoda nie kwalifikuje się do łączenia według innej metody? Domyślam się, że moje pytanie brzmi: jak mogę utworzyć metodę łańcuchową w moim modelu?
P. Zajrzałem do klasy konstruktora zapytań laravel, gdzie widziałem, że metody łańcuchowe zwracają instancję tego obiektu, ale nie mogłem znaleźć sposobu na zwrócenie obiektu w sposób inny niż w powyższym kodzie. Wszelkie sugestie lub porady są bardzo cenione. Z góry dziękuję.