cakePHP覚書#3

連想配列(modelの内容をDBからとってきたもの)の配列。要は複数レコードを入れた配列なんですが、

foreachで回して、項目を変更したのだけど、元の配列自体に変更が及んでいないようで、その後saveAllしても

DBに反映されていない。

for文で直接もとの配列を書き直してみよう。

foreach ($bs as $b){
	$b['model']['data'] = "test";
}

こういう風にすると「$bs」のなかみ$bs[0][‘model’][‘data’]は書き換えられなかった。

for ($i=0;$i<count($bs);$i++){
	$bs[$i]['model']['data']="test";
}

こうしたらうまく書き換えてくれた。

findなどでデータベースのレコードを取得する場合の条件の書き方でくだらないミス。

$conditions = array('nenrei>' => $nenrei);

フィールド名と比較演算子の間のスペース忘れると変なことになる。

where 'nenrei>' = 1

比較演算子がフィールド名の一部と誤認識される。つーか、空白で区切らないと当たり前のことですね。ww


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です