問題タブ [propel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - phpページングクラス
誰かが良いPHPページングクラスをお勧めできますか?
私はグーグルを検索しましたが、私の要件に一致するものは何も見ていません。「自分で転がす」(そしてほぼ確実に車輪の再発明をする)のではなく、最初にここにチェックインすることにしました。
最初のいくつかの背景:
Ubuntu9.10でPropelORMを使用してSymfony1.3.2を使用してWebサイトを開発しています。私は現在Propelページャーを使用していますが、これは問題ありませんが、最近memcacheを使用して少しスピードアップし始めました。この時点では、Propelページャーはほとんど役に立ちません。Propelページャー(AFAIK)は、Propelオブジェクトでのみ機能するためです。
私が必要としているのは、次の要件を満たすクラスです。
データソース(データベースなど)からレコードを取得するロジックがクラス(または少なくとも別のファイル)にカプセル化されるように、関心の分離を備えたクリーンなインターフェイスを備えています。
オブジェクトの配列を操作できます
ページ付けリンクを提供し、現在のページに必要なデータのみをフェッチします。また、ページ数が多すぎる場合は、利用可能なページリンクを「分割」する必要があります。たとえば、1000の可能性のあるページリンクがある場合、表示されるページはFIRST 2,3 ....999LASTのようになります。
クエリ対象のテーブル内のすべてのレコードの数を返すことができるため、次のリンクがFIRST、LASTで利用可能になります(この要件は実際には前の要件ですでにカバーされていますが、もう一度強調したかっただけです)。
過去に成功裏に使用したことがある場合、誰かがそのようなライブラリを推奨できますか?
あるいは、someobeが現在のPropelページャーを「ハッキング」した(たとえば、派生した)可能性があります。これにより、私がリストしたことを実行できるようになります。お知らせください。
php - 自分のカスタムクラスで Propel ORM を使用する
少し前に書いたいくつかのクラスを Symfony プロジェクト (v1.3.2 with Propel ORM) にリファクタリングしています。
クラスはもともとデータベースへの直接接続を使用していました。これらのクラス ($(SF_LIB_DIR) に格納されている) をリファクタリングして、propel を呼び出し、ORM オブジェクトも使用できるようにします。
明確にするために、たとえば、カスタム クラスで次のようなコードを使用できるようにしたいと考えています。
カスタム ライブラリにいくつかの require_once() ステートメントを追加する必要があると思いますが、どのファイルを含めるかが明確ではありません。誰もこれを行う方法を知っていますか?
zend-framework - Zend Framework :: ORM - 教義 / Zend_Db_Table を推進する
Zend Framework のデフォルトの Zend_Db_Table で Doctrine/Propel のような外部 ORM を使用することを提案する人はいますか?
理由付きの回答は、ZF コミュニティ全体で価値があると思います。
-DevD
php - Propelは、オブジェクトがソフト削除されたことを認識しているので、子エンティティは削除された親を引き続き表示できますか?
MySQLデータベースのオブジェクトをソフト削除し、PropelORMを使用しています。ソフト削除が機能するようになりましたが、実際の行が削除されていないため、強制された親子関係が失われます。
レコードにアクセスしたときにレコードがソフト削除されたことをPropelが認識して、null参照例外がスローされないようにする方法はありますか?このように、親は削除されましたが、その子は引き続きその関係を読み取ることができますが、子を更新するとき、または新しい子を作成するときに、削除された親にアクセスすることはできません。
例えば、
BookにはAuthorIdがあり、AuthorIdに属する作成者がソフト削除された場合、次のようになります。
正しい著者を返します(表示目的のみ)。ただし、新しい本が追加された場合、ソフト削除された著者は選択できません。
その機能がPropelに組み込まれているかどうか誰かが知っていますか?
php - symfony(Propel)でテーブルを結合し、1つのクエリで両方のテーブルからオブジェクトを取得する方法
Propel(Symfony内)を使用して、1つのクエリで2つの結合されたMysqlテーブルからデータをフェッチする簡単な方法を取得しようとしています。
私がこの単純なことをしたとしましょう:
symfonyはそれを行うために2つのクエリを呼び出します。最初の行はコメント行を取得し、次の行はコメント行にリンクされた記事行を取得します。
今、私は1つのクエリ内でそれらすべてを作成する方法を見つけようとしています。私はそれらに参加しようとしました
しかし、Articleオブジェクトを使用して取得しようとすると
それでも、Article行を取得するためのクエリを発行します。選択したすべての列を簡単にクリアして必要な列を選択できましたが、それでは目的のPropelオブジェクトが得られず、クエリの生の結果の配列だけが得られました。
では、1つのクエリだけで2つ(またはそれ以上)の結合テーブルの入力されたpropelオブジェクトを取得するにはどうすればよいですか?
ありがとう、
JP
php - symfony - テーブルに別の php クラス名を設定する
私のテーブルはモデル/エンティティの複数形で命名されています。モデル/エンティティという名前の生成されたクラスを作成する方法はありますか?
(これが関連しているかどうかはわかりませんが、ORM として Propel を使用しています)
ありがとう。
symfony1 - Propel-load-data がエラーを引き起こしています
フィクスチャをロードしようとしていますが、myproject が CLI でエラーになり、インデクサー プロセスを開始しています。
私が試してみました:
- スキーマとモデルの再構築
- データベースを空にして再起動する
- キャッシュのクリア
- YML ファイルの検証と、より単純なデータ ダンプの試行
私のプラットフォームは Windows 上の Symfony 1.0 です
また、過去に同じ問題が発生したようです。
propel - 推進およびトルク プロジェクトの 1 つのスキーマ
Java と php アプリケーションで構成されるプロジェクトがあります。Java アプリケーションは Torque-ORM を使用し、PHP アプリケーションは propel ORM を使用します。
同じデータベースに対して 2 つの schema.xml ファイルがあります。私の知る限り、推進力はトルクの一部です。両方のプロジェクトで schema.xml を 1 つだけ使用することはできますか?
yaml - Symfony 1.4: propel を使用してフィクスチャでリレーションを使用する
PHP symfony フレームワークを使い始めたところです。現在、YAML でフィクスチャ ファイルを作成して、MySQL データベースにデータを簡単に挿入しようとしています。
これで、私のデータベースにはいくつかのリレーションがあり、Organization と Location というテーブルがあります。
今、フィクスチャファイルでこれらのテーブルをリンクしようとしていますが、私の人生では、その方法がわかりません。org_id は自動インクリメントされるため、単純に使用することはできません
ロケ備品で。
どうすればこれを修正できますか?
symfony1 - Propel で日付が null でない日付範囲を選択する
Propel を使用して、日付フィールドが null ではなく、特定の範囲内にあるレコードを検索したいと考えています。
残念ながら、これはより大きなクエリの一部であるため、ここでカスタム SQL クエリを利用することはできません。
例: 次のようなレコードがあるとします。
due_date が 2010 年 1 月 1 日から 2010 年 2 月 1 日までのすべての行を返したいと思うかもしれませんが、due_date が NULL であるレコードは返したくありません。
この例では、行 2 と 3 のみを返したいと考えています。
しかし、Propel は私の NOTNULL 基準を上書きするようです。
Propelでこれを行うことは可能ですか?
ありがとう!