Доброго дня.
Есть экземпляр работы Jobs\UpdateTable. Там есть конструктор.
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Products $Model) // <-- путь корректен, я указал use
{
$this->Model = $Model; // если вот это убрать, все будет работать нормально
}
Данная таска запланирована в планировщике Laravel (app\Console\Kernel.php, метод shedule).
$schedule->job(Jobs\UpdateTable::class)->everyMinute();
Модель Products пустая. Таблица в БД есть, но она тоже пустая.
namespace App;
use Illuminate\Database\Eloquent\Model;
class Products extends Model
{
//
}
При этом, когда запускаю таску, все фейлится с ошибкой "Illuminate\Database\Eloquent\ModelNotFoundException : No query results for model [App\Products]", хотя я ничего не выбирал из модели и не делал ничего с результатами. Запускаю из консоли.
$ php artisan schedule:run
// Вот это вот приведет к ошибке
// Illuminate\Database\Eloquent\ModelNotFoundException : No query results for model [App\Products]
Я ожидаю, что фреймворк просто передаст экземпляр класса модели в инстанс таски, и все! Но нет, так это почему-то не работает.
Самое странное, что, когда я убираю в классе Jobs\UpdateTable присваивание инстанса модели ($this->Model = $Model), все работает нормально.
Почему он пытается что-то получить из модели? Как сделать так, чтобы Laravel разрешил мне сохранить инстанс модели в свойстве?
Заранее спасибо.