問題タブ [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.

0 投票する
2 に答える
8753 参照

php - Yiiでイベントを使用する方法

onBeginRequestイベントでコードを実行したいと思います。
どこでそれをしますか?私はこれをコアライブラリコードに追加することを想定していないと思います。
私はYiiで完全に初心者です

0 投票する
0 に答える
1167 参照

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 つのモデルは正常に保存されましたが、外部キーが保存されていません。

【コントローラ用コード】グループコントローラ

メンバーコントローラー

0 投票する
2 に答える
2914 参照

yii - Yii レポートの生成方法

私は Yii を初めて使用し、ユーザー入力 (フォームに入力して [生成] をクリック) を使用してレポートを生成しようとしています。データベースにクエリを実行して、特定の日付範囲のトランザクションを検索したいのですが、その方法が本当にわかりません。

私が見ている例はありますか?

前もって感謝します。本当に助かります。よろしく。

0 投票する
1 に答える
950 参照

yii - 単一のフォームの部分的な送信を実現するためにyiiのサブセクションにフォームを分割する方法

ユーザー情報に関するすべてのフィールドを含むモデルがあります。そして、crudジェネレーターを使用して、以下のようにビューを作成し、ビュー、フォームビューを変更しました

ここでは、編集プロファイル部分を非表示にしています。ユーザーが編集をクリックすると、ポップアップと編集フィールドのオプションが表示されます。問題は、送信するときにフォーム全体を送信することですが、編集した部分だけを送信する必要があります。もう1つの問題は、何かを編集してからフォームをキャンセルすると、値が編集されたままになり、いずれかを送信するときに保存されることです。フォームの他の部分。フォームの部分的な送信をどのように達成できるかを提案してください

0 投票する
3 に答える
2360 参照

php - 以前の値のフィールドをオートコンプリート

私はYiiFrameworkで小さなアプリケーションを実行しています。そのため、私のデータベースは次のようなものです。

両方のモデルのすべての値を入力できるようにCustomer modelinをレンダリングしました。しかし、1つの問題があります。私が持っていた顧客名を持っていると仮定します。これで、に行くときに、次のように表示されます。私はそうする必要はありません。だから、これがYiiフレームワークでどのように達成できるか。どんな助けや提案も非常に高く評価されます。私が行ったコードの詳細は、必要に応じて共有できます。私を助けてください。私は完全にここで立ち往生しています。Invoice modelsingle Invoice formxyzsaved beforeagain fill the Customer name with xyzall 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 formre-enter all the fields again

0 投票する
1 に答える
2159 参照

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 属性が元の基準の一部であるかどうかを確認する必要があり、その方法がわからないため、ブラインドを行うことはできません。

ヘルプ!ティア:)

0 投票する
1 に答える
2548 参照

yii - ウィジェットのCListViewafterAjaxUpdateイベント

ウィジェットはコントローラービュー上にある場合とない場合があり、一部のウィジェットはlistViewに影響を与えます。

CListViewのafterAjaxUpdateJSイベントでストールしました。ウィジェット-は、リストビューを更新する製品フィルターです。私の問題は、リストビューの更新後にフィルターを更新したい場合です。もちろん、リストビューで更新コードを構成することはできますが、この動作はフィルターウィジェットに属しているため、間違っていると思います。

ウィジェットで試してみました

しかし、ListView jsは以下になり、明らかにそれは悪い解決策です。

いくつかのパブリックウィジェットイベントについて考えているので、フィルターウィジェットを介してリストビューウィジェットにアドレス指定し、そこにイベントを配置できます。

多分誰かが関連する問題に直面したか、より良いアイデアを持っていますか?ありがとう。

0 投票する
2 に答える
720 参照

yii - Yii で電子メールによるユーザー登録を有効にするのが困難に直面している

メールで送信されたアクティベーション リンクをクリックしてユーザーをアクティベートする際に問題が発生しています。

http://www.example.com/devtest/index.php?r=user/check&activationcode=bc74873d0e3f684d3e6b99a36169a793ee688406などのアクティベーション リンクをクリックすると、データベースを更新せずにログイン ページにリダイレクトされます。

ユーザーディレクトリにあるビューファイルcheck.phpに対して、次のコントローラーコードが機能していないと思います。これが私のコードです-

ユーザーコントローラー.php:

}

ファイル check.php を表示します。

UserController で GET URL アクションを処理する方法がわかりません。また、accessRules に「チェック」という単語を追加して既にテストしましたが、ブラウザはページが正しくリダイレ​​クトされないことを示しています。

何か案が?私の問題についての解決策を教えてください。

ありがとう、MRS

0 投票する
2 に答える
1337 参照

php - Yiiで計算を行うには、手動で挿入された値のみを取得します

で小さな請求書アプリケーションを書いていますYii。私はdatabaseモデルのために持っていitemます。こんなitem database感じです

今、item model私はドロップダウンリストを作成しました。ここではunit_cost, quantity, tax、Ajaxですべてのアイテム名とそのその他を取得しています。を行うためにtotal、私は次のようなビジネスロジックを持っています:

  1. unit_cost乗算されますquantity
  2. その後、税金が合計に追加されます。
  3. 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しているときはまったく機能していません。コンソールパネルに値が表示されていません。