php - 在方法参数中传递模型实例
问题描述
我正在尝试为模型创建一个公共类,其中我将模型实例传递给我的单独参数
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 的实例,给定字符串,调用
解决方案
Branch::class
是一个类常量,它以字符串形式返回类名,如错误消息所示。也许您希望通过new Branch
。
推荐阅读
- python - Tkinter 恢复按钮
- python - 如何使用python将excel工作簿转换为Mysql数据库
- mobile-safari - AR Quicklook 自定义横幅或购买按钮
- mysql - 如何在MYSQL中仅过滤具有长度的整数?
- discord - 我如何在特定频道中删除不和谐机器人并重新发送消息
- jquery - jQuery中的动态字段验证
- azure - 带有 docker image throwing 的 Azure 函数即使存在也会抛出缺少连接字符串的错误
- c# - 在实体框架中编写查询
- excel - 关于熊猫的查询
- macos - 在 MAC 上安装 .tar.gz