我试图为模型创建一个通用类,将模型实例传递给我的单独参数
class Custom
{
private $model;
public function getAll(){
return $this->model->get();
}
public function setModel(Model $model){
$this->model=$model;
}
}
我和我的控制器有
$customModel=new Custom();
$customModel->setModel(Branch::class);
echo "<pre>";
print_r($customModel->getAll());
我也尝试过
$response=$this->customDatatable->setModel(Branch::class)->getAll();
echo "<pre>";
print_r($response->toArray());
但是出现以下错误
传递给App \ Helpers \ Custom :: setModel()的参数1必须是 Illuminate \ Database \ Eloquent \ Model的实例,给出的字符串称为
答案 0 :(得分:2)
var voidTaskResult = Type.GetType("System.Threading.Tasks.VoidTaskResult");
if (taskType.IsGenericType
&& taskType.GetGenericTypeDefinition() == typeof(Task<>)
&& taskType.GetGenericArguments()[0] != voidTaskResult)
{
var result = task.GetType().GetProperty("Result").GetValue(task);
Console.WriteLine(result);
}
是一个class constant,它按照错误消息的建议以字符串形式返回类名称。也许您正想通过Branch::class
。