Проблема здесь:
$repo = new CustomerRepository();
$result_actual = $this->$repo->saveCustomer($request);
Вы присваиваете и используете переменные не одинаково.
Попробуйте вместо этого:
$this->repo = new CustomerRepository();
// ^------- assign to `$this`
$result_actual = $this->repo->saveCustomer($request);
// ^------- remove `$`
При выполнении $this->$repo->
PHP пытается преобразовать (объект) $repo
в строку $this->(object)->
, которая не работает.
Тогда у вас есть вторая ошибка здесь:
\DB::table('custom')->select('id')->orderBy('id', 'DESC')->first() + 1
Из базы данных вы получаете объект (instanceof stdClass
), который вы не можете просто + 1
.
Все это, вероятно, что-то вроде
\DB::table('custom')->select('id')->orderBy('id', 'DESC')->first()->id + 1
(из возвращенного объектаВы хотите собственность id
.)