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ę.

questionAnswers(5)

yourAnswerToTheQuestion