私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】フレームワーク CakePHP 9ホール目【v1.3】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
rollback後に何らかの処理をafterrollback的に行いたい場合は
こんな感じでモデルに記述してOKでしょうか
function rollback()
{
parent::rollback();
$this->afterRollback();
}
function afterRollback()
{
//処理
}
こんな感じでモデルに記述してOKでしょうか
function rollback()
{
parent::rollback();
$this->afterRollback();
}
function afterRollback()
{
//処理
}
しかも結婚テーブルはIDはオートインクリメントでdelete権限ついてないから厄介だよね。
$data = $this->TestModel->findById(1);
とすると、
$dataにはArrayデータが格納されます。
このArrayの中に「value」というカラムのデータがあるのですが、このvalueの値を1行で取得したいのです。
$value = $this->TestModel->findById(1)['TestModel']['value'];
はだめでした。
文法的にどのように書くのが正しいのでしょいか?
とすると、
$dataにはArrayデータが格納されます。
このArrayの中に「value」というカラムのデータがあるのですが、このvalueの値を1行で取得したいのです。
$value = $this->TestModel->findById(1)['TestModel']['value'];
はだめでした。
文法的にどのように書くのが正しいのでしょいか?
一行で取得したい
そんな風に考えていた時期が僕にもありました。
今考えると赤面ものです。
そんな風に考えていた時期が僕にもありました。
今考えると赤面ものです。
あー
perlでは
{$this->TestModel->findById(1)}['TestModel']['value'];
こんな感じにできた気がするなぁPHPは無理なんじゃない?てか知らない。
perlでは
{$this->TestModel->findById(1)}['TestModel']['value'];
こんな感じにできた気がするなぁPHPは無理なんじゃない?てか知らない。
idをfindして、その結果を次のクエリとしてINに指定したいとき、
findしたデータを1次元の配列に変換しないといけないのですが
これができる関数ってあるのでしょうか。
array_mapするのが定石でしょうか。
$result=$this->Model1->find('all', array('fields'=>'Model1.id'));
$array=hoge_function($result);
$conditions=>array('Model2.hoge_id'=>$array);
$this->Model2->find('all', array('conditions'=>$conditions));
上記の例の場合のhoge_functionのような処理を簡単にしたいです。
findしたデータを1次元の配列に変換しないといけないのですが
これができる関数ってあるのでしょうか。
array_mapするのが定石でしょうか。
$result=$this->Model1->find('all', array('fields'=>'Model1.id'));
$array=hoge_function($result);
$conditions=>array('Model2.hoge_id'=>$array);
$this->Model2->find('all', array('conditions'=>$conditions));
上記の例の場合のhoge_functionのような処理を簡単にしたいです。
>>83
キミはSet覚える前にアソシエーションを覚えるべきw
キミはSet覚える前にアソシエーションを覚えるべきw
cakephp1.3を使っています。
下記のようにあるコントローラに別のコントローラを継承させています。
App::import('Controller','Base');
class TestController extends BaseController {
Testというページは情報入力画面なのですが、
最初の画面は表示されるのにサブミットボタンを押した後真っ白な画面になってしまいます。
phpのエラーはなくdebug.logにも何も出力されておりません。
継承ではフォームの作成は出来ないのでしょうか。
あいまいな質問ですみません。
何かヒントでもつかめればと思います。
下記のようにあるコントローラに別のコントローラを継承させています。
App::import('Controller','Base');
class TestController extends BaseController {
Testというページは情報入力画面なのですが、
最初の画面は表示されるのにサブミットボタンを押した後真っ白な画面になってしまいます。
phpのエラーはなくdebug.logにも何も出力されておりません。
継承ではフォームの作成は出来ないのでしょうか。
あいまいな質問ですみません。
何かヒントでもつかめればと思います。
もう一つご質問です。
TestControllerとTest2Controllerというコントローラがあり
処理も全く同じでファイルパスだけが違うます。
これまで処理が全く同じでパスだけ違う場合
シンボリックリンクを張りファイル名だけ変えていたのですが
cakeの場合クラス名が変わるのでそれが使えません。
同じ処理を行うファイルを複数使用する場合
効率のいいやり方はありますか?
TestControllerとTest2Controllerというコントローラがあり
処理も全く同じでファイルパスだけが違うます。
これまで処理が全く同じでパスだけ違う場合
シンボリックリンクを張りファイル名だけ変えていたのですが
cakeの場合クラス名が変わるのでそれが使えません。
同じ処理を行うファイルを複数使用する場合
効率のいいやり方はありますか?
Pluginを表示してる時に、$form->create();つかうと、
URLにプラグインが保管されてしまうんですがこんな仕様でしたっけ?
$html->link(array(....));のときにプラグイン名を明示的に
'plugin'=>nullってしてやらないとこれもプラグインが勝手に保管されるので同じように
form->create()の第二引数で指定してやってもダメでした。
なんか他のところに原因があるんでしょうか
URLにプラグインが保管されてしまうんですがこんな仕様でしたっけ?
$html->link(array(....));のときにプラグイン名を明示的に
'plugin'=>nullってしてやらないとこれもプラグインが勝手に保管されるので同じように
form->create()の第二引数で指定してやってもダメでした。
なんか他のところに原因があるんでしょうか
今までそうじゃなかっただろとおもいながらもよくよく考えてみたら同じケースが無いだけだったみたいな。
で、どーもそういう仕様っぽいなってことで、以下のようにしました。
<?php echo $form->create('Member', array('url'=>array('plugin'=>null, 'controller'=>'members', 'action'=>'login')));?>
memberを2個かくのに抵抗感汁んですがまぁいいや。
で、どーもそういう仕様っぽいなってことで、以下のようにしました。
<?php echo $form->create('Member', array('url'=>array('plugin'=>null, 'controller'=>'members', 'action'=>'login')));?>
memberを2個かくのに抵抗感汁んですがまぁいいや。
よく分からないんだけど、pluginの /:plugin/hoge/add のページから /members/login にpostしたいってこと?
それならpluginをnullしなきゃいけないのは当然よ
それならpluginをnullしなきゃいけないのは当然よ
そゆことっす。
んで、html->link()の時はplugin=null入れなきゃってのは前からやってたんですが、
formのケースが自分でかってに
plugin=nullなんて指定しなくても第一引数がPlugin.Memberとかでない限り大丈夫だと思ってたんです。
でもそうじゃなかったと。
サーセン
んで、html->link()の時はplugin=null入れなきゃってのは前からやってたんですが、
formのケースが自分でかってに
plugin=nullなんて指定しなくても第一引数がPlugin.Memberとかでない限り大丈夫だと思ってたんです。
でもそうじゃなかったと。
サーセン
belongsToとかで複数テーブルを連携させるとき、その複数テーブルに存在する共通のカラムを
findのconditionで指定した場合(例えば $condritions=array('xxx'=>'aaa')など)
「Column 'xxx' in where clause is ambiguous」
というエラーが発生します。
$condritions=array('(テーブル名).xxx'=>'aaa')
というようにテーブル名を条件指定のときに付与すれば回避できるのですが、
テーブル名を直接記述するのもフレームワーク的にしっくりきません。
他にこのエラーの回避方法などありますでしょうか?
findのconditionで指定した場合(例えば $condritions=array('xxx'=>'aaa')など)
「Column 'xxx' in where clause is ambiguous」
というエラーが発生します。
$condritions=array('(テーブル名).xxx'=>'aaa')
というようにテーブル名を条件指定のときに付与すれば回避できるのですが、
テーブル名を直接記述するのもフレームワーク的にしっくりきません。
他にこのエラーの回避方法などありますでしょうか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】フレームワーク CakePHP 19ホール目【v3.3】 (844) - [96%] - 2023/2/2 14:30
- 【PHP】フレームワーク CakePHP 10ホール目【v1.3】 (1001) - [96%] - 2011/2/13 8:32
- 【PHP】フレームワーク CakePHP 11ホール目【v1.3】 (1001) - [96%] - 2011/6/30 22:32
- 【PHP】フレームワーク CakePHP 8ホール目【1.3】 (1001) - [96%] - 2010/7/22 22:16
- 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 (985) - [93%] - 2013/9/7 8:30
- 【PHP】フレームワーク CakePHP 16ホール目【v2.4】 (1001) - [93%] - 2014/3/3 3:00
- 【PHP】フレームワーク CakePHP 14ホール目【v2.1】 (1001) - [93%] - 2012/12/3 19:16
- 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 (995) - [93%] - 2012/4/23 21:16 ○
- 【PHP】フレームワーク CakePHP 17ホール目【v2.4】 (984) - [93%] - 2015/1/10 2:45
- 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 (1001) - [92%] - 2008/12/19 21:06 ○
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [92%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [92%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [92%] - 2009/3/7 4:53 ☆
- 【PHP】フレームワーク CakePHP 17ホール目【v3α】 (955) - [92%] - 2016/11/15 20:45
- 【PHP】フレームワーク CakePHP 12ホール目【笑】 (1001) - [90%] - 2011/11/8 7:01
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [84%] - 2008/6/19 7:19 ○
トップメニューへ / →のくす牧場書庫について