のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,689,467人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ【PHP】フレームワーク CakePHP 12ホール目【笑】

php覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

351 = :

>>347
使った事は無いんで詳しく語れないんだが、media viewというのがあるらしい

352 = :

CakePHPを勉強してみようと思っているのですが、勉強に適した書籍はありませんか?

353 = :

CakePHP辞典買えばいいよ

354 = :

辞典が勉強に向いてるとはすげえ話だな

355 = :

>>352
オンラインのcookbook。
これが一番為になった。

356 = :

>>354
用例が乗ってるんだから向くだろ

357 = :

>>356
CakePHP辞典はリファレンス本だから
354のいうとおり、1冊目に読む本では無いと思うぞ

358 = :

webrootをアプリケーションディレクトリの外に出して使ってるんですが、
コンソールアプリからWWW_ROOTを参照すると、
アプリケーションディレクトリ配下のwebrootが返ってきてしまいます。
web画面からアクセスした場合は、ちゃんと設定した通りのパスが返ってきています。
コンソールアプリからはWWW_ROOT参照できないというような制約でもあるんでしょうか?

360 = :

確かにdefineで保持されてはいるんですが、
それがあらぬところを指し示してしまっているため困っています。
defineなので上書きも効かず。

362 = :

orz

365 = :

Controller側
function index(){
$hoge = 0;
$this->set('hoge',$hoge);
}
function ajax(){
$this->autoRender = false;
$this->uses = null;
Configure::write('debug',0);
$hoge = $hoge + 1;
$this->set('hoge',$hoge);
}

view側
<div id="div">
echo "$hoge";
</div>
<?php echo $ajax->link('ajax',ajax,array('update'=>'div')); ?>


ってやるとajaxで「$hoge空っぽなんだけど^^;」って言われるんですけど
ビュー側からコントローラー側へ変数を渡すにはどのようにすればよろしいのでせうか?

366 = :

自己解決しました。
コンソールアプリの場合、web画面からのアクセスとは異なり、
WWW_ROOTはcake.phpで定義されており、
アプリケーションディレクトリ配下のwebrootが指定されてました 。

cakebooksの応用インストール手順片手落ちじゃん。
それともcakeのバグなのかな?
どっちにしてもorz

368 = :

>>365
何も値を渡して無いじゃないw
普通のリンクと同じ。$ajax->link(’title','ajax/1'.......)みたいにすればいい。
http://book.cakephp.org/view/1362/Methods

でもAjaxヘルパーはdeprecatedだからそろそろJsヘルパー使おうよ。

369 = :

最後間違えてた
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>'ajax')); ?>
です

ここに書いたのは簡略化してるけど、ページネーションしたいだけなんです。
でもSQLが命名規則に適してないから$this->Dammy->query("$sql");みたいに直打ち
で、直打ちしたらページネーションが使えなくなった

だから何とか再現したいと、とりあえずAjaxでカウントアップ作ろう
って事になりました。

function indexで入れた$sqlと
ページ数出してる$nowpageさえ取り出せればいいんですけどね。

>>368
「Ajax使え」と、お上からのお達しやでぇ…

370 = :

>>369
後半はどうでもいいけど、
一旦Ajaxの事は忘れて、普通のリンク($html->link)でコントローラーの$hogeに値を入れる方法を考えて。
どういうURLを渡したら$hogeに値が入るか。

それがわかったらviewの$html->linkの所を$ajax->linkにすればいい。

372 = :

>>371
出てきた画像をバイナリエディタで覗いて比べてみれば?

373 = :

>>370
わからんっ

なるほど、自分の場合は基礎ができてないんだな
いきなりCakePHPから入るんじゃなくて
ちゃんとPHPから勉強する事にする

375 = :

htmlヘルパーのlink項目全然載ってないわ
さすが秀和…

変数の受け渡しなんて全くと言っていいほど出てこない

ギブアップ 答えください

376 = :

秀和w

377 = :

ネットでも探してるけど
ビューからコントローラへの受け渡しって無くない?

HTMLヘルパー使う記述なんて全然出てこないわ

378 = :

ひでかずちゃんとしろよw

379 = :

「しゅうわ」だろ?
みんなどんな本読んでんの?

380 = :

>>377
難しく考えないでいいって。
CookBookのチュートリアル程度の基礎知識はあるとしてだけど。
http://book.cakephp.org/ja/view/1528/

ビューからコントローラへの受け渡しって言うけど、
ブラウザのURL欄にhttp://example.com/コントローラ/アクション/パラメータ
って手で入れるのと同じことだから。

そしたらコントローラー側では
function アクション($hoge) {......)
で$hogeにパラメータが入るでしょ。

381 = :

>>377
MVCちゃんと勉強したら

382 = :

SQLServerのストアドを使いたいのですが、Cakeから使えますか?
サンプル探そうと検索したんですが出てこないし・・・
出来れば使い方も教えてもらえると助かります。

383 = :

説明下手だなぁ

384 = :

>>380の説明通りやると
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
function ajax($hoge){ echo "$hoge"; }
これで$hogeの内容が出力される
こうなる

385 = :

>>384
それをビューに書く事に違和感あるな

386 = :

↓ビューの一部
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
↓コントローラーの一部
function ajax($hoge){ echo "$hoge"; }

だろJK

387 = :

設計の相談があります。

■usersテーブル(会員データを保存)
id、name、created
■photosテーブル(会員が投稿した写真を保存)
id、user_id、name

こういうテーブル構成になっているとします。
users→photosはbeLongsToの関係です。

Authでログインした後、$this->Auth->user();を参照しても
結合しているphotosのデータが取得されません。
どうしたらいいのでしょうか?

388 = :

User->find()

390 = :

>>387
photosテーブルのuser_idにキーを宣言し忘れとか
単純なミスじゃないの?
あと全テーブルにcreated、modifiedをいれるって。。
余計なカラムをいれると負荷かかるじゃん
トラブル時の解決はqueryログ追え

391 = :

>>390
入れ忘れじゃないです。
Authのログインだとアソシエーションが反映されないようで、
ログインを手動にして、認証後に>>388してセッションに保存しています。

しかし、なにか違和感があるので、他に出来ないかと思い、質問しました

393 = :

違和感があるのはAuthから引っ張ろうとしてるからだよ。

394 = :

なんか習作作ろうと思うんだけど、何がいいだろうか?

395 = :

俺習作でソーシャルゲームつくって、今モバゲーで公開してるよ

396 = :

え、cake関係なくね

397 = :

>>387
そもそも認証系にテーブル結合するような設計が間違いと思う。
認証系て

■userテーブル
ID
名前
ログイン時間
登録時間
でいいじゃん。

photosテーブルてカラム内容からして
認証と関係なさそうだし。

一度認証したら
memchachedでIDと名前をもたせとけばいい

認証系にテーブル結合する意味がないし
セキュリティ的にも負荷的にもよくない

398 = :

>>397
>そもそも認証系にテーブル結合するような設計が間違いと思う。

と言う事は、あとから必要になったら
その都度findしてデータを持ってくるのが正しいやり方なんですね。

Cake使う前も認証時には画像(プロフィール画像とか)を
ログイン時に保存していました。毎回参照する物なので。
でも、やり方が間違っていたのだと気づきました。
みなさん、アドバイスありがとうございます。

399 = :

>>387
そもそも
users->photosがhasOneで
photos->usersがbelongsTo

400 = :

>>394
ユーザー管理かな。
住所録とか。


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について