問題タブ [yii-events]
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 - Yiiでイベントを使用する方法
onBeginRequestイベントでコードを実行したいと思います。
どこでそれをしますか?私はこれをコアライブラリコードに追加することを想定していないと思います。
私はYiiで完全に初心者です
php - 外部キーが Yii に保存されない
私はこのようなデータベースを持っています
メンバーモデルでは、私の関係は次のようになります
ここで、2 つのモデルを 1 つのフォームに保存します (例はこちら[http://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect- data-for-two-or-more-models] ) 2 つのモデルは正常に保存されましたが、外部キーが保存されていません。
【コントローラ用コード】グループコントローラ
メンバーコントローラー
yii - Yii レポートの生成方法
私は Yii を初めて使用し、ユーザー入力 (フォームに入力して [生成] をクリック) を使用してレポートを生成しようとしています。データベースにクエリを実行して、特定の日付範囲のトランザクションを検索したいのですが、その方法が本当にわかりません。
私が見ている例はありますか?
前もって感謝します。本当に助かります。よろしく。
yii - 単一のフォームの部分的な送信を実現するためにyiiのサブセクションにフォームを分割する方法
ユーザー情報に関するすべてのフィールドを含むモデルがあります。そして、crudジェネレーターを使用して、以下のようにビューを作成し、ビュー、フォームビューを変更しました
ここでは、編集プロファイル部分を非表示にしています。ユーザーが編集をクリックすると、ポップアップと編集フィールドのオプションが表示されます。問題は、送信するときにフォーム全体を送信することですが、編集した部分だけを送信する必要があります。もう1つの問題は、何かを編集してからフォームをキャンセルすると、値が編集されたままになり、いずれかを送信するときに保存されることです。フォームの他の部分。フォームの部分的な送信をどのように達成できるかを提案してください
php - 以前の値のフィールドをオートコンプリート
私はYiiFrameworkで小さなアプリケーションを実行しています。そのため、私のデータベースは次のようなものです。
両方のモデルのすべての値を入力できるようにCustomer model
inをレンダリングしました。しかし、1つの問題があります。私が持っていた顧客名を持っていると仮定します。これで、に行くときに、次のように表示されます。私はそうする必要はありません。だから、これがYiiフレームワークでどのように達成できるか。どんな助けや提案も非常に高く評価されます。私が行ったコードの詳細は、必要に応じて共有できます。私を助けてください。私は完全にここで立ち往生しています。Invoice model
single Invoice form
xyz
saved before
again fill the Customer name with xyz
all the fields of both models like invoice_title,order_no,invoice_issue_date,due_date,description,email_address,customer_name,address etc. in that input fields of the form
re-enter all the fields again
activerecord - Yii フレームワーク: CActiveRecord.beforeFind() を使用するにはどうすればよいですか?
beforeFind(
の子クラスで )を使用する必要がありCActiveRecord
ます。
基本的には、DB で実際に検索を実行する前に、いくつかのデータを変換する必要があります。
内部で行われる直前の検索操作を変更するにはどうすればよいbeforeFind()
ですか? 属性をいじって$this
も役に立ちません。データが取り込まれていないためです。これは少し驚きです。ドキュメントで「隠し CDbCriteria パラメータ」について言及されているのを見てきましたが、その使用方法を推測できませんでした... . 残念ながら、このテーマに関するドキュメントはわずかです。
私がしなければならないことはかなり単純です: IP アドレスを格納するためのテーブル列があります。スケーラビリティの観点から最も効率的な設計は、列に VARBINARY(16) データ型を使用することです。たとえば、これに関するこのSO 質問ページ (および回答) を参照してください。したがって、最もクリーンな解決策は、ユーザーに対して透過的に機能することbeforeFind()
ですafterFind()
。beforeSave()
コード スタックでは、IP アドレスは通常のドットで区切られたクワッドであり、DB レベルでは、inet_pton()
フック メソッドの後/前に PHP のメソッドを利用した後にフィールドに入るすべてのものです。
かっこいいはずだった。そしてそれはクールです - と を使用するafterFind()
とbeforeSave()
、オブジェクトの ip_address 属性が手元にあり、私の超操作力に翻弄されます。
ここに要点と必要性があります: 問題は、 でそれを達成する方法がわからないということですbeforeFind()
。mergeWith()
ip_address 属性が元の基準の一部であるかどうかを確認する必要があり、その方法がわからないため、ブラインドを行うことはできません。
ヘルプ!ティア:)
yii - ウィジェットのCListViewafterAjaxUpdateイベント
ウィジェットはコントローラービュー上にある場合とない場合があり、一部のウィジェットはlistViewに影響を与えます。
CListViewのafterAjaxUpdateJSイベントでストールしました。ウィジェット-は、リストビューを更新する製品フィルターです。私の問題は、リストビューの更新後にフィルターを更新したい場合です。もちろん、リストビューで更新コードを構成することはできますが、この動作はフィルターウィジェットに属しているため、間違っていると思います。
ウィジェットで試してみました
しかし、ListView jsは以下になり、明らかにそれは悪い解決策です。
いくつかのパブリックウィジェットイベントについて考えているので、フィルターウィジェットを介してリストビューウィジェットにアドレス指定し、そこにイベントを配置できます。
多分誰かが関連する問題に直面したか、より良いアイデアを持っていますか?ありがとう。
yii - Yii で電子メールによるユーザー登録を有効にするのが困難に直面している
メールで送信されたアクティベーション リンクをクリックしてユーザーをアクティベートする際に問題が発生しています。
http://www.example.com/devtest/index.php?r=user/check&activationcode=bc74873d0e3f684d3e6b99a36169a793ee688406などのアクティベーション リンクをクリックすると、データベースを更新せずにログイン ページにリダイレクトされます。
ユーザーディレクトリにあるビューファイルcheck.phpに対して、次のコントローラーコードが機能していないと思います。これが私のコードです-
ユーザーコントローラー.php:
}
ファイル check.php を表示します。
UserController で GET URL アクションを処理する方法がわかりません。また、accessRules に「チェック」という単語を追加して既にテストしましたが、ブラウザはページが正しくリダイレクトされないことを示しています。
何か案が?私の問題についての解決策を教えてください。
ありがとう、MRS
php - Yiiで計算を行うには、手動で挿入された値のみを取得します
で小さな請求書アプリケーションを書いていますYii
。私はdatabase
モデルのために持っていitem
ます。こんなitem database
感じです
今、item model
私はドロップダウンリストを作成しました。ここではunit_cost, quantity, tax
、Ajaxですべてのアイテム名とそのその他を取得しています。を行うためにtotal
、私は次のようなビジネスロジックを持っています:
unit_cost
乗算されますquantity
- その後、税金が合計に追加されます。
total
合計は、最終的にファイルのフィールドにポップアップ表示され_form.php
ます。
計算のために、私はこのjQuery
スクリプトを書きました:
手動で値を挿入している場合、これは正常に機能していますが、値がデータベースから取得されている場合は機能しません。私は完全に立ち往生しています。
アップデート
のようにFirefoxのコンソールタブでajaxを介してデータベースからフェッチした後に値を表示しようとすると、console.log("#InvoiceItems_quantity").val()
が表示されan empty string
ます。jsonの形式でデータベースからデータをフェッチするAjaxコード
最近の更新
試してみるとconsole.log("#InvoiceItems_quantity").val()
、変更後のそのフィールドの実際の値が表示されていることがわかりました。1つの値を選択すると、コンソールパネルに前に入力した値の値が表示されていることを意味します。on change
関数を使用したので、これはすべて機能していると思いますが、使用.select
しているときはまったく機能していません。コンソールパネルに値が表示されていません。