symfony1.2でDoctrine1.1使ってJobeetチュートリアル5日目
躓いたとこをメモ
svnリポジトリの内容が、Propel仕様だった
12/13 追記(getObject問題解決)
lib/model/JobeetJob.phpを開きましょう?
lib/model/doctrine/JobeetJob.class.php
ですね、わかります。
# apps/frontend/config/routing.yml job_show_user: url: /job/:company_slug/:location_slug/:id/:position_slug class: sfDoctrineRoute options: { model: JobeetJob, type: object } param: { module: job, action: show } requirements: id: \d+ sf_method: [GET]
options:行で、JobeetJobテーブルと関連付けしているので、
url:行の、:company_slug, :location_slug, :id, :position_slugはそれぞれ、
lib/model/doctrine/JobeetJob.class.phpの
getCompanySlug, getPositionSlug, getId, getLocationSlugメソッドを呼んで値を得る。
この内、getIdメソッドはもうあるので、その他のメソッドを定義してやる。
company_slugなんてカラムねーよ
無事、ハイフン繋ぎでURL作成できて、executeShowでgetObject使おうねって言うから使ったらこれだよ。
company_slugは、ハイフン繋ぎにするための疑似カラムだから、実際には無いカラムなのにgetObject呼んだら、それでクエリー作ってる。他の_slugカラムも同様。
symfony-1.2.1にアップグレードしてキャッシュ消したら、問題なく動作しました。
// symfony-1.2.1にアップグレード pear upgrade symfony/symfony-1.2.1
先にキャッシュ消しとくべきだった
symfony ccしたら
Unable to write cache file的なエラー。書き込み権限無いのが原因なんで
// パーミッション変更 chmod -R 777 cache symfony cc
getObjectでけた!