使用webman/think-orm phpstorm提示问题

moco

问题描述

用thinkorm模型
$model = new AiModels();
$model->name = static::$name;
$model->save(); phpstorm提示name成员具备 protected 可见性 编辑器指向到BaseQuery类中name的属性了 但其实name是$model模型表中的一个字段 怎么解决这个报错啊

135 3 0
3个回答

沉梦

为啥不事先声明好模型,定义好name,要去动态操作呢,$name属性本来就不是公共的!
当然你也可以用setName方法动态设置

$model = new AiModels();
// 设置Name
$model->setName(static::$name);
// 也可以获取Name
$model->getName();
  • 暂无评论
/**
 * @property string $name 名字
 */
class AiModels
{

}

加一个注释,利用 php webman make:model 表名会自动生成模型和对应的字段注释。

  • 暂无评论
ichynul

$name是模型的私有属性,代表数据表名称。
换种写法:

$data = [
'name' => static::$name,
];
$model->save($data);
  • 暂无评论
×
🔝