Я знаю, что конструктор объекта вызывается только в первый раз, когда он создается.
Но в моем случае после использования xDebug для исследования я обнаружил, что, несмотря на успешный вызов с $blockId
параметр, когда он был создан, когда я вызываю метод get()
для получения данных, конструктор снова вызывается, и на этот раз параметр $blockId
является просто пустым массивом, поэтому он вызывает ошибки.
Я пробую другой случай с count()
методом, он работает как шарм.
Вот код, который я упомянул выше:
$userData = new UserData($blockId);
$results= $userData ->whereIn('Type', request('user_types'))->get(); //causes error
$results1= $userData ->whereIn('Type', request('user_types'))->count(); //works like a charm
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class UserData extends Model
{
const TABLE_NAME = 'user_';
protected $table = self::TABLE_NAME;
public $timestamps = false;
protected $guarded = [];
public function __construct($blockId)
{
parent::__construct();
$this->table .= $blockId;
}
}
Я надеюсь, вы могли бы помочь мне узнатьв чем причинаЗаранее спасибо.