Добрый день
Уже всю голову сломал, но причину не могу понять
Есть тестовый метод контроллера
public function testop() {
$toQuery = [
'skip' => 1,
'onPage' => 5,
'sort' => 'desc',
'sortField' => 'id',
'action' => 'miss',
'filter' => 'miss',
'deleteIds' => [],
];
$db = new Querydb('doc_table', $toQuery);
$db->test();
}
И есть методы модели Querydb, констракт и test
public function __construct($dbTableName, $serverParams) {
$this->table = $dbTableName;
$this->skip = $serverParams['skip'];
$this->onPage = $serverParams['onPage'];
$this->sort = $serverParams['sort'];
$this->sortField = $serverParams['sortField'];
$this->action = $serverParams['action'];
$this->filter = $serverParams['filter'];
$this->deleteIds = $serverParams['deleteIds'];
}
public function test() {
$dataDb = $this->where('status', 1)->orderBy($this->sortField, $this->sort)->skip(0)->take($this->onPage)->get();
echo '<pre>';
print_r($dataDb);
exit();
}
Так вот проблема в том, что у меня выдается следующая ошибка
Too few arguments to function App\Models\Querydb::__construct(), 1 passed in C:\OSPanel\domains\dis\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php on line 392 and exactly 2 expected
Хотя я делал всевозможные проверки
Проверял то, что приходит в констракт
В методе test выводил свойства, которые устанавливаются в констракте (с ними все хорошо, они есть и заданы)
Потом я просто убрал констракт, сделал обычный метод, в который передавал те же самые переменные, что и в констракт и в самом методе выполнялись те же действия, что и в констракте. И после этого метода уже вызывал метод test. И так все работало! Я, видимо, что-то упускаю.