public function executeIndex(sfWebRequest $request) { echo 'Lock Start!'; //Doctrineのコネクションを取得 $conn = Doctrine_Manager::getInstance()->getCurrentConnection(); //コネクションを渡し、ロックマネージャーを生成する $lockingManager = new Doctrine_Locking_Manager_Pessimistic($conn); //適当なMemberオブジェクトを取得 $member = Doctrine::getTable('Member')->find(1); try { //ロックのタイムアウトを設定 $lockingManager->releaseAgedLocks(300); //オブジェクトに対してロッ
I've found an issue where doctrine will use the wrong connection for tables under certain conditions. In a template, I'm doing a $sf_user->hasCredential() - which is causing this to be run in sfGuardSecurityUser, When this execute, the calls find themselves to Doctrine_Manager::getConnectionForComponent($componentName) This method calls Doctrine_Core::modelsAutoload($componentName);, which fails t
次のプロジェクトはDoctrineでいくことにしたのでメモ。 Doctrine2ではマジックメソッド(findBy~)が使えなくなるらしいし、そもそも処理が重いらしいので開発では使わないことにした。 初級編 Doctrine 公式 The symfony and Doctrine book これの6章にサンプルが参考になる。 Cheat-Sheet.org - http://www.cheat-sheets.org/#Doctrine DoctrineのCheat Sheet。常に見れる状態にしておくと良いかも知れない。version 1.1のためかわからないが、$query->fetchArray()、$query->fetchOne()とかが書かれていないのが気になる。 上級編 Symfony 公式 - Doctrineのビヘイビアを作る Symfony 公式 - Doctrine の
symfonyプロジェクト全体で共通で利用される設定は、ProjectConfigurationクラス(config/ProjectConfiguration.phpファイル)のconfigureDoctrine()メソッド内で行うとよいでしょう。 以下の例では、クエリーキャッシュと結果キャッシュの両方にmemcachedドライバを設定しています。また、それぞれのデフォルトの存続時間を1時間に設定しています。 class ProjectConfiguration extends sfProjectConfiguration { public function setup() { $this->enablePlugins('sfDoctrinePlugin'); } public function configureDoctrine(Doctrine_Manager $manager) {
初めまして。社内にいるほとんどのプログラマーがpropelの中いきなりdoctrineを学んだピチピチ平成生まれ(20歳)、新卒のitaniです。 symfonyを学んだときに、こんな記事があったらいいなぁと思ったので書くことにしました。 というわけで、symfonyを触ってまだ間もない僕が、今回はdoctrineを使ってDBの基本操作を紹介します。 ※symfonyのversionは1.4を使用します。 DBの準備 まずはDBの準備をします。 symfonyを使ってDBを作るにはまずスキーマを作らなければいけません。 スキーマを作る方法は2つあります。 1、自分でschema.ymlを書く config/doctrine/schema.ymlにテーブルの構造をYAMLフォーマットで書きます。 //今回使うDBのschema.yml User: columns: name: { type:
たとえばfromというカラムがテーブル上にあったとして、 SELECT * FROM my_table WHERE from LIKE '%@gmail.com'; こんなクエリを実行しようとすると、エラーになってしまいます。fromが予約語だからですね。識別子に予約語が入る場合は、RDBMSの指定する引用符で囲んであげる必要があります。MySQLなら`(バッククオート)、PostgreSQLなら"(ダブルクオート)が識別子にあたります。 SELECT * FROM `my_table` WHERE `from` LIKE '%@gmail.com'; DoctrineでSQLを実行する際、デフォルトでは識別子で囲まれるようにはなっていません。そこで、Doctrine_Managerクラスに次のように設定してあげる必要があります。 <?php $manager = Doctrine_Man
I’m attending Symfony Live. Below are my notes from Jon Wage’s presentation on the upcoming Doctrine 2.0. My more opinionated, less explanatory comments tend to be in parentheses. Everything paraphrased brutally to keep up. “Not the same old PHP ORM” 100% re-written codebase for PHP 5.3 “Are you scared? You shouldn’t be! Change is a good thing!” 5,000 records hydrate in 1.4 seconds. Whee! 10,000 r
This document discusses using Doctrine Migrations to manage database schema changes. It begins by explaining the problems with manually migrating databases, then introduces Doctrine Migrations as a way to version and rollback schema changes. Key aspects covered include generating migrations from schema changes, the migration file format, and using Symfony commands to generate, migrate and rollback
昨年度からずーっとやっていた「DoctrineとTwig」をどうにか連携(単に使うだけ)したい! と思ってて先程なにやら面倒なことになったのでメモ的に書いてみます。 先に言っておくと、「DoctrineとTwigの相性が完全に悪い」というわけでもなく、「DoctrineとTwigの相性は最高だ!」というわけでもありません。 DoctrineとTwigで発生したのは以下のような問題。 Doctrineでyml(※1)から生成したモデルからデータを抽出し、抽出したデータをView(※2)の変数に突っ込み、index.phtmlで変数を利用出来るようにして、いざアクセスしてみたらnullだよ! ※ここではController、Actionともにindexであるとします。 ※1今回利用しているDoctrineで生成したモデルは、「1つのデータを持ってる(hasOne)」の関係性で行っています。 ※
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く