ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp/SAE/データベース操作/D メソッドの質問
もともとローカル データベースに mesg テーブルがありましたが、後にフィールド メイドがこのテーブルの後ろに追加されました。
操作で使用されます
$mesg = D('Mesg');
dump($mesg);
モデルには次のものがあります:
protected $_map = array(
'user'=>'muser',
'content '=>'mcontent',
'time'=>'mtime',
'aid'=>'maid',
);
結果は次のようになります:
["fields:protected"] => ; 配列(8) {
[0] => 文字列(3) "中間"
[1] => 文字列(4) "ミューザー"
[ 3] => 文字列(8) "mcontent"
[4] => 文字列(5) "mtime"
[5] => 文字列(4) "メイド"//これ
["_autoinc" ] = > bool(true)
["_pk"] => string(3) "mid"
}
ローカルにメイドフィールドがあります。
ただし、sinaapp にアップロードする場合も同じ操作が実行されますが、結果は次のようになります:
["fields":protected] => array(7) {
[0] => string(3) "mid"
[ 1 ] => 文字列(4) "muid"
[2] => 文字列(5) "muser"
[3] => 文字列(8) "mcontent"
=> "mtime"
["_autoinc"] => bool(true)
["_pk"] => string(3) "mid"
}
以下はローカルと sae の両方で正常です :
["_map ":protected] => array(4) {
["user"] => string(5) "muser"
["content"] => string(8) "mcontent"
["time"] => string(5) "mtime"
["aid"] => string(4) "maid"
}
元々、上記のテーブルにはそのフィールドがありませんでしたが、後でこのフィールドが追加されました。 、すべてのテーブルを再度アップロードしましたが、うまくいきませんでした。
ランタイムを何度削除しても機能しません。原因がわかりません。
まずテーブル構造が変更されていることを確認しますsae 側が正常に変更されました
sae テーブル構造が変更されました。
「Sae モードでのローカル デバッグが成功するのを待機しています」とはどういう意味ですか?
まず、Sae 側のテーブル構造が正常に変更されたことを確認します
2 番目のバージョンを作成しました。次に、最初のバージョン全体をコピーすれば準備完了です。 !
ありがとう!
でも、何が原因なのか知りたいです。
マシンでのデバッグに sae を使用しませんでしたか?
通常のプロジェクトエントリーファイル
require './ThinkPHP/ThinkPHP.php';
SAE プロジェクトエントリーファイル
require './ThinkPHP/Extend/Engine/Sae.php';
まず、sae 上のテーブルを確認します。サイド 構造は正常に変更されました
また、2 番目のバージョンを作成しない場合、最初のバージョン全体を再送信する方法についてお聞きしたいのですが?
再提出の方法がわかりません。
マシンでのデバッグに sae を使用しませんでしたか?
通常のプロジェクト エントリ ファイル
require './ThinkPHP/ThinkPHP.php';
SAE プロジェクト エントリ ファイル
require './ThinkPHP/Extend/Engine/Sae.php';
なるほど、これはわかりました
また、第 2 バージョンを作成しない場合、最初のバージョン全体を再提出するにはどうすればよいですか?
再提出の方法がわかりません。 SVNというソフトを使っていないのでしょうか?
プロジェクト ディレクトリを右クリック - 送信
5th Floor の返信からの引用:
また、お聞きしたいのですが、第 2 バージョンを作成したくない場合、最初のバージョン全体を再送信するにはどうすればよいですか?
再提出の方法がわかりません。
SVN ソフトウェアを使用しませんか?
プロジェクト ディレクトリを右クリック - 送信
送信後は効果がなく、同じ問題が依然として存在します。
しかし、バージョンを再作成したときに問題は解決されました。
理由はわかりません。
私もこの問題に遭遇しました。オンラインで検索したところ、KVDB キャッシュに問題があることがわかりました。次に、KVDB を無効にして再度有効にしましたが、問題は依然として発生しました。いろいろ悩んだ結果、KVDBを無効にしてもキャッシュはクリアされないことが分かりました。無効にする際にメッセージは出ましたが、少なくとも私のキャッシュはクリアされなかったので、理由は気にしません。
次のコードを使用して、KVDB のキャッシュ コンテンツを表示できます
[code]$kv = new SaeKV();
$ret = $kv->pkrget; ('', 100);
dump($ret);
[/code]
KVDB を無効にして再度有効にしても、上記のコードを実行してもキャッシュの内容が出力される場合は、KVDB キャッシュがまだ存在していることを意味します。 。
以下のコードをコピーして実行し、問題を解決します。
[コード] $kv = new SaeKV(); // SaeKV オブジェクトを作成します
$ret = $kv->init(); //初期化します
$ret = $kv->pkrget('', 100); // キャッシュされたコンテンツを取得します (ヘルプ ドキュメントには上限が 100 であると記載されています)
$this->show('