假设有一个叫user的表,那么创建一个名为User的模型,内容如下
app/admin/model
use think\Model
class User extends Model { public function aa($id){ }
}
在控制器需要调用此模型的话,在顶部use引入该模型
use app/admin/model/User
如果控制器也叫User,那么名称会冲突报错,此时只需要加个别名就好
use app/admin/model/User as UserModel
然后在方法里调用有两种方式
public function index
{
//1.实例化调用
$model = new UserModel() $id = 1 //可以使用一些对象方法,例如
$model->where('id',$id)->find();
//使用模型内方法 $model->aa($id);
//2.静态调用 UserModel::create(); UserModel::update(); }
静态调用只能使用静态方法,调用动态方法会报错
动态方法可以使用全部方法
模型中有独特的操作数据库的方法
例如
//比如数据库中有username和password字段 public function add() { $data = [ 'username' => 'aaa',
'password' => 'bbb',
'conpass' => 'ccc',
]; //此时使用Db直接插入会报错 Db::name('user')->insert($data); //可以使用模型插入 $model = new User(); $model->allowField(true)->save($data); //allowField的值为true的话,只插入数据库已有的字段 }
0条评论