環境:Windows 10 + wampservice + Yii2.0.6
開発ツール:phpstorm 9.0.2
Yii ActiveRecordで保存を実行するとデータベースにカラムが追加されるのですが、なぜデータがない?
公式マニュアルとは何ですか? なぜ質問が多いのですか?何度か試してみましたがダメでしょうか?それとも何か問題があるのでしょうか?
モデルを構築しました
namespace appmodels;
use yiidbActiveRecord;
class user extends ActiveRecord
public $username
パブリック静的関数モデル($className=__CLASS__)
{
returnparent::model($className);
}
パブリック静的関数 tableName()
{
Return '{{user}}';
}
コントローラで実行
$user = new user();
$user->username = 'hello'; ->password = 'world';
$user->save();
データベースは列を追加しますが、ユーザー名とパスワードは空で、前の ID のみです。データベース内のスキーマは次のとおりです書かれた。
id int(10) unsigned not null 主キー auto_increment。
ブラウザで
localhost:80/yii/web/index.php?r=index/create を実行します。実行後にエラーは報告されませんが、データベースを確認すると列が追加されますが、ユーザー名とパスワードは空白です。
この問題が発生した場合はどうすればよいですか?
ディスカッションへの返信 (解決策)
SQL を出力して、insert into の構文を確認します。テーブルの構造も確認する必要があります。
印刷時にエラーは発生しません。解決策は、AR 派生クラスでテーブルの属性を定義するのではなく、save を直接使用してテーブルを正しく保存することです。