tp6、モデルに新しい変更メソッドを定義します。
tp51 では、self::save() を直接使用して新しい追加を示します。
ただし、tp6 では、self::save() を使用し、エラーを報告し、静的メソッドではありません
非静的メソッド think\Model::save() は静的に呼び出さないでください
$this を使用すると、エラーが報告されます
オブジェクト コンテキスト内でない場合の $this の使用
では、モデル内の親のメソッドを呼び出して追加してみてはどうでしょうか?
朝游东海2019-04-24 11:07:32
解決しました、私の問題
<?php namespace app\common\model; use think\Model; use think\exception\PDOException; class Common extends Model { // protected static function init(): void { } /** * 添加修改 **/ public function addEdit(array $data = []){ //去掉static静态声明 $type = isset($data['id']) ? ($data['id']>0 ? 2 : 1) : 1; //?? ?: try { if($type == 2){ //更新 $row = self::update($data); }else{ $row = $this->save($data); } if($row !==false){ return ['status'=>1,'msg'=>'操作成功', 'data' => '' ]; }else{ return ['status'=>0,'msg'=>'操作失败', 'data' => '' ]; } } catch (PDOException $e) { return ['status'=>0,'msg'=>$e->getMessage()]; } }
は save() メソッドを呼び出すことができますが、
またエラーが発生しました
array_merge(): 引数 #1 は配列ではありません
$field = array_merge($this->field , $append);
Print $this->field
eq true
???
右クリックしてすべて閉じて、
正式リリース後に戻ってきてください