技術的&べんり帳

March 11, 2013

[CakePHP] modelと複数形。

CakePHPのテーブルの名前について。

同僚が最近CakePHPで開発をし始めたのこと。
んでハマっちゃったってことで呼ばれてソースを見たのですが。

テーブル名: informations

ふむふむ。

models/information.php
<?php
class Information extends AppModel {
var $name = 'Information';
var $primaryKey = 'id';}
?}>

controllers/Information_controller.php
<?php
class InformationController extends AppController {
  var $name = 'Information';
  var $uses = array('Information');
 …}
?}>

…あれ。見たとこおかしいところなさそうなんだけど(汗

でも、画面には「informationモデルで使う為のinformationテーブルがねえぞコラ」というメッセージが出てる。
(※ほんとはここで気づくべきだった)

だから、modelのnameのところを"Informations"にしたところ動いた。
でもこれって書かなくてもOKなはずじゃ??

しばらくあぁでもないこうでもないと試した結果。以下のことが分かりました。

Information → 複数形は Information

(-_-;;)

となると、
child は children。
person は people。

「~~ies」みたいな「~y」の複数形のテーブル名は扱ってきましたが。。
まずは英語の勉強をしなけりゃならないようです。。

英語力の無い自分を恨みましたとさ。トホホ。



xseraarcy at 22:00|PermalinkComments(0)TrackBack(0)

March 04, 2013

wikiで外部リンクを別ウィンドウで開くようにする

Pukiwiki。

仕事上の仕様やメモなんかを書くのに便利なので、割と頻繁に使ってます。

最近、外部リンクを開くときに「右クリック→リンクを別ウィンドウで開く」として
別ウィンドウで開くのがいい加減面倒だな~と感じるように。

外部リンクだと勝手に「_blank」属性付けてくれないかな~。

そこで調べたところ、こんな記事が。


…長くて読むのが面倒だ。もっと簡単にできんものだろうか。
(そもそも右クリックのひと手間を惜しむくらいですから)

ということで、もちっと調べてみた。

リンクを作成してる部分に手を加えることで、外部リンクを別ウィンドウで開くようにする方法

そうそう、これこれ。こういうのを求めてたのよ。
「Link_url」クラスの「toString」で、外部URLだったらblankを指定するとかなんとか。

多少手を加える必要はありますが、、(リンク先のコメント参照)
これで便利便利。


xseraarcy at 22:00|PermalinkComments(0)TrackBack(0)

February 25, 2013

[CakePHP]コントローラに引数として記号を渡す


また備忘録的cakePHPメモ。

商品一覧があって、そこから商品詳細に飛びたい。

カテゴリ = car 
商品ID = 25
カテゴリ = car/subaru
商品ID = 32

変数に「/」があるパターンとないパターンが混在している場合。
1件目は詳細画面へのリンクを http://localhost/index/detail/car/25 として、コントローラ側で function detail($category = null,$sid = null) … で $category = "car"; $sid = "25"; と取得可能。

2件目も同様にリンクをはると、 http://localhost/index/detail/car/subaru/25 先ほどのfunctionでは当然ながら第2引数として「car」を取得してしまう。

http://localhost/index/detail/car%2Fsubaru/25 として、カテゴリの部分にエンコードかけてもダメ(404になった)。

だから、各コードにエンコードかけてGETパラメータで渡すことにした。
http://localhost/index/detail/?category=car%2Fsubaru&sid=32

コントローラ側で
function detail() …  
 if($this->params['url']['category']){ $cat = $this->params['url']['category']; }
 if($this->params['url']['sid']){ $sid = $this->params['url']['sid']; }
とすれば1件目も2件目もパラメータを取得可能で、 あとは適宜変更してDB等に問い合わせればOK。



xseraarcy at 22:00|PermalinkComments(0)TrackBack(0)

February 18, 2013

xamppとskypeの共存

メモ的に。 

skypeを入れたらxamppの起動ができない。 逆も然り。

まぁ同時に使うこともあんまり無いけれど、 どうしたもんかなーと思ってgoogle先生に頼る。
xampp-portcheck.exeでチェック
 →80番ポートに"Skype"の文字。

あら、これでxampp起動できないのね。 

skypeのツール→詳細→接続 にある、 「上記のポートに代わり、ポート80番を使用」のチェックを外す。 
これで同時に起動OKでした。



xseraarcy at 22:00|PermalinkComments(0)TrackBack(0)

February 11, 2013

gmailからMLへ投稿したメールが自分に届かないとか

日ごろ、gmailを経由してメールを受け取ってるのだけれど、
どうも自分がMLに対して送ったメールが届かない。
確かに送信ボックスには入ってるけど、送信されたのかどうか不安なので
thunderbirdでgmailを経由せずに受信すると、ちゃんと自分宛にも届いてる。
なんだかなーと思って調べてみた。

メーリングリストへ自分が送信したメールが自分に戻ってこない

仕様ですか。そうですか。

送信メールボックスにあるからいいじゃん!
というお話らしいですな。

便利なんだけどなー、gmail経由。
こういうことがあるので、ちょっと不安でthunderbirdと平行で使ってます
処理したメールかどうかがとっても管理しにくい。
なんとかならんものか。


xseraarcy at 22:00|PermalinkComments(1)