![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
CakePHP で、質問させていただきます。CakePHPは、初心者です。
app/controllers のコントローラ「mobilehellow_controller.php」で、以下のようにデータをセットして、DBにインサートしようとしていますが、何もDBには追加されません。
$saveData = array(
"NUM" => $item[$hscan_offset]['kyujin_syokusyu'],
"JOBTYPE" => 'kyujin_syokusyu',
));
$this->Mobilehellow->create();
$this->Mobilehellow->save($saveData);
画面上には、こんな文字が表示されました。
Query: INSERT INTO "mobilehellows" ("NUM") VALUES ('nextval(''"helloworkmobilep01_NUM_seq"''')
DBの構成はこれです。
NUM integer NOT NULL
JOBTYPE text
エラーも何も出なので、どうしてなのかわかりません。
どうか、ご存知の方お教えください。
No.2ベストアンサー
- 回答日時:
無事に解決できたようで、何よりです(^^
>「Query: SELECT currval('mobilehellows_id_seq') as max 」を、出させないには、何かフラグを設定するのでしょうか?
これはデバッグ用の出力ですね、デフォルト設定のままだと出力されます。
app/config/core.php
の45~50行目あたりに
Configure::write('debug',2);
というのがあると思います。この「2」を「1」以下にすれば出なくなると思いますよー。(^^)
またまた、ありがとうございます。
カラム データ型
JOBTYPE text
REFERENCE_NUMBER text
の時、
REFERENCE_NUMBER 10010- 7414601
を探すために、以下のコーディングをしました。
ーーーーーーーーーー
$serchData = array("Mobilehellow" => array(
"REFERENCE_NUMBER" => trim($item[$hscan_offset]['seirino']),
));
$saveData = array("Mobilehellow" => array(
"JOBTYPE" => $item[$hscan_offset]['kyujin_syokusyu'],
"REFERENCE_NUMBER" => $item[$hscan_offset]['seirino'],
));
$data = $this->Mobilehellow->findAll($serchData);
if ($data=== false) {
$this->Mobilehellow->create();
$this->Mobilehellow->save($saveData);
}
ーーーーーーーーーーー
としたのですが、$dataの戻り値は、FALSEばかりです。
何が、いけないのでしょうか?
No.1
- 回答日時:
こんにちは。
(^^もしかしたら違うかもしれませんが、参考までに。
モデルの指定が上手くいっていないのかもしれません。
$this->Mobilehellow->save($saveData);
でインサートするには、変数$saveDataの配列の中身が、$saveData['モデル名']['そのモデルで使うテーブルのフィールド名']とならなくてはいけなかった気がします。
ここで、「エラーがでない」ということについてですが、このsave()というのは、「入れるべきものがあれば、インサートし、そうでなければスルーしてエラーも出さない」ものです。変数$saveDataの配列内でモデル名が「Mobilehellow」になっていないならば、このエラーが出ないという現象も納得がいくのではないでしょうか?
そこで、ちょっと手数ですが、試しに分かりやすい形で試してみると良いと思います(^^)例えば・・・
$saveData['Mobilehellow']['NUM'] = $item[$hscan_offset]['kyujin_syokusyu'];
$saveData['Mobilehellow']['JOBTYPE'] = 'kyujin_syokusyu';
$this->Mobilehellow->save($saveData);
とういうような3行の形で試してはいかがでしょうか? これでもダメなようならば、他に原因があるかもしれませんが、それがわかっただけでも一歩前進ということで・・・。
アドバイスいただき、ありがとうございます。
テーブルにシリアル値の列を設定していると、駄目だったようです。
その列を削除したら、うまくいきました。
あと、
「Query: SELECT currval('mobilehellows_id_seq') as max 」
を、出させないには、何かフラグを設定するのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- PHP php エラー 2 2022/10/23 16:43
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- その他(プログラミング・Web制作) python の課題で困ってます。 num=【1,2,8,6】という配列がある。 insert(2, 2 2023/05/24 21:56
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パースエラーとは?
-
トランザクションが原因?DBに...
-
ページングがうまくいきません。
-
Oracleに接続できません
-
アメブロで指定テーマでRSS取得...
-
CakePHP で、質問させていただ...
-
「@$変数」の「@の意味は?」
-
phpでこの記述をもっと簡単に書...
-
onedrive にexcelファイルをア...
-
Illustratorで文字と画像を流し...
-
拡張子php画像をjpg画像等に変...
-
one drive のアップロード失敗...
-
URLの変わらないページをPHPで...
-
imgタグでのphpの呼び出しについて
-
URLが.PHPってどういう...
-
データ送信をボタンを押さずに...
-
AccessのDoCmd.SendObjectについて
-
LinuxでのPHP、Configure Comma...
-
PHPにてC言語プログラムを呼び...
-
<img src=~.php>へのデータの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
パースエラーとは?
-
トランザクションが原因?DBに...
-
PHP8を使うと、大量のWarningが...
-
「@$変数」の「@の意味は?」
-
PHPで、エラーがない場合のみ画...
-
SELECTの値を保持する
-
PHPでfatal errorが出ても無視...
-
正規表現での最後尾のバックス...
-
PHPで特定のURLにジャンプす...
-
PHPでネットワークドライブのop...
-
これは例外処理でしょうか?
-
ワードプレスサイト PHP8.0.25...
-
PHPにて外部サイト内容が取得不...
-
メールアドレスが存在するか確...
-
phpのrenameでエラーが出ます
-
urlの直接入力を防ぐには
-
Localeクラスについて
-
phpでget_headers()が使えない?
-
bindValueエラー
おすすめ情報