Приветствую, прошу помощи в понимании chaining method`a. Мне важно понять, как реализовать удобную последовательность запроса, например:
Разработка класса для работы с базой данных. На выходе хотим иметь возможность использования примерно такого формата:
$db->table('tableName')->select(...........)->where(........)->fetch('assoc');
На месте
select соответственно могут быть
update,
insert,
delete
Но тут проблема в том, что WHERE и FETCH являются частью запроса SELECT, поэтому я не могу выполнить его во время вызова метода select с объектом класса, мне нужно выполнять это позже, но
КАК?
Я рассматриваю возможность записи целостного запроса в глобальную переменную класса (напр. $query), но как выполнить весь этот запрос по итогу? Можно было бы создать метод run(), который бы выполнял $query
$db->table('tableName')->select(...........)->where(........)->fetch('assoc')->run();
Однако это полный абсурд и я считаю, что есть более правильный выход, на который мне пока не хватило ума