0

テーブルにデータを挿入する必要がある単純なモデルがあります。SQLとクエリを使用するとすべて正常に動作しますが、挿入関数を使用しようとすると、セットを使用する必要があるというエラーが表示されます??

私のデータベースのIDは自動インクリメントで、日付はタイムスタンプです

class Article extends CI_Model {

private $id;
private $title;
private $text;
private $date;

public function __construct()
{
    $this->load->database();
}

public function save_article($title,$text)
{
    $this->title=$title;
    $this->text=$text;
    $this->id='';
    $this->load->helper('date');
    $this->date=now();
    print_r($this);
    //"INSERT INTO article VALUES ('','".$title."','".$text."',NOW())")
    $this->db->insert('articles',$this);
}
}

記事オブジェクト ( [id:Article:private] => [title:Article:private] => rrrrrrrrrrr [text:Article:private] => rrrrrrrrrrrrrrrrrr [date:Article:private] => 1351680951 )

データベース エラーが発生しました

エントリを更新するには、「set」メソッドを使用する必要があります。

ファイル名: C:\Program Files (x86)\EasyPHP-12.1\www\blog\system\database\DB_active_rec.php

ライン番号: 1174

4

1 に答える 1

5

のメンバー変数はArticleですprivate。Active Recordクラスは、を使用してそれらを読み取ることはできませんget_object_vars

private $id;
private $title;
private $text;
private $date;

それらをとして作成するpublicか、キーと値のペアの配列をに渡しますinsert

于 2012-10-31T11:30:53.220 に答える