問題タブ [cakephp-3.1]

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 投票する
0 に答える
408 参照

cakephp-3.0 - CakePHP 3.x Src から Api -> コントローラー -> アクションを呼び出す方法 -> コントローラー -> アクション?

API の目的で別のアプリを構築しようとしているため、要件に従ってコンポーザー ファイルに変更を加え、API コントローラーやモデルなどを自動ロードします。

このような:

これで、cakephp 3.x フォルダー構造は以下のようになります。

以下のように、API フォルダーにあるコントローラー/アクションを呼び出そうとしています。

からの呼び出しを試みています:

呼び出す方法はありますか?

使用できますrequestActionが、SRC と UserControler のような API の両方のフォルダーに同じコントローラーとアクション名が存在します -> login その場合のアクションは SRC コントローラーである可能性があり、アクションが呼び出されます。これが主な問題であり、解決方法は?

アイデアをお持ちの方は、あなたの考えや知識を共有してください。

ありがとう!

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

php - 介入画像: 元のファイル名と拡張子を使用して URL から直接画像を保存しますか?

リモートサーバーから画像を取得するときにファイル名を取得する方法は? 元のサイズとファイル名で保存する方法は?

私は干渉( http://image.intervention.io/api/make ) を使用して CakePHP 3 画像の動作を構築します。リモート サーバーから簡単にアップロードできるようにし、元の画像を将来の操作のソースとして保持したいと考えています。

編集

リモート サーバーから取得したファイルの名前を返すIntervention Imageメソッドはありますか。私はphp copy()、basename()を知っています。CakePHPファイルユーティリティも使用できますが、リモートファイルで重複したリクエストが返されます。

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

cakephp - CakePHP 3 コントローラーのアクション -> スマートにする方法

おそらく最も洗練されていない方法でコントローラー アクションを実装します。これはどのように改善できますか?テーブル クラスは after と同じbin/cake bakeです。Entityを作成する部分はかなり簡略化できたと思います。

私がやっていること: Books --belongsTo--> Publishers <--habtm--> Publishernumbers 本をデータベースに追加するとき、publishernumber は ISBN 番号から抽出されます。この番号は、habtm 関係で出版社にリンクされます。フォームに isbn を入力するときに、ユーザーにいくつかの出版社を提案するには、これが必要です。

コードは今のところ機能しますが、1 年後、私がここで何をしたかは神のみぞ知るでしょう。最初の部分は簡単です。

これは混乱が始まる部分です。これはもっとエレガントにできると思います。

保存

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

validation - CakePHP 3.1: 翻訳動作フィールドの検証 (i18n)

CakePHP のtranslate behaviorを使用して、1 つのフォームに複数の翻訳を含むアイテムを追加しようとしています。

翻訳フィールドを検証するにはどうすればよいですか? たとえば、特定の言語を必須にしますか?

本で説明されているように設定された、別の変換テーブルitemsを持つ単純なテーブルがあると仮定しましょう。簡単な例として、テーブルには翻訳するフィールドが 1 つしかなく、5 つの言語で保存したいとします。だから私はこのようなフォームを作成します(ビューテンプレートで): items_i18nitemstitletitleadd

そして、次のaddようにコントローラー(アクション/関数)に保存します:

これは検証なしで機能するか、「ネイティブ」フィールドの検証ルールしかない場合にtitle機能します (スタックオーバーフローのコードを単純化し、例の一部の名前を変更したため、タイプミスがある可能性がありますが、アイデアを得る必要があります) ...)。

さらに、英語(デフォルト) とスペイン語必須で、他の言語フィールドはオプションであるとします。どうすればそれを達成できますか?

で、ItemsTable検証のために次のようなことを試しました:

patchEntity($item, $this->request->data);ただし、翻訳が破棄されるため、常に「このフィールドは必須です」という検証エラーが発生します。これは、ワークフローの保存に関する GitHub の未解決の問題でわかっています (ところで、このリクエストには +1 :)。

そのため、現在、CakePHP の翻訳動作を使用するときに翻訳フィールドの検証ルールを定義する方法があるかどうかはわかりません...必要な言語フィールドは単なる例です。最小/最大などを検証する場合、同じ問題が発生します。外国語の入力フィールドの長さ...

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

cakephp - CakePHP 3.1: 翻訳動作で使用する言語文字コード (i18n)

一貫性がありませんか?CakePHP 3 ブックの翻訳動作に関する章では、 ISO 639-2のような言語のネイティブ名ではなく、英語名に由来する 3 文字のコードが使用されています。

この例では、言語を変更します。

しかし、国際化とローカリゼーションに関する章では、

翻訳フォルダーは、言語の 2 文字の ISO コード、または言語とそれが話されている国の両方を含む fr_FR、es_AR、da_DK などの完全なロケール名のいずれかです。

言語を変更する例は次のようになります。

それで、時代遅れについての章translate behaviourですか、それともすべての方法が正しいですか?一貫性を保ち、両方で同じ言語コードを使用する方がおそらく良いと思いTranslate behaviourますInternationalization and Localization

また、i18n スキーマ テーブルの例では、フィールドlocaleを次のように定義していvarchar(6)ます。サンプル スキーマで を使用しているのはなぜですか?varchar(3)fr_FRvarchar(6)

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

php - CakePHP 3.1: joinTable に同じ外部キーを保存しますが、_joinData は異なります

保存したいモデルにこの関連付けがあります:

同じだが異なる値tags_associationsを持つ関連するテーブル 2 レコードに保存したい。これは一例ですTags.id_joinData

私の例では、2 番目のエンティティのみが tags_association テーブルに保持されます。

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

cakephp - CakePHP 3: BelongsToMany を使用した CounterCache

関連付けがありBelongsToMany、テーブルはPostsTableとです。TagsTablePostsTagsTable

ここで CakePHP の本 (関連)で説明されているように、次のフィールドがあります。

今のところ、すべてが正しく機能しています。tags.post_countですから、おわかりのように、フィールドを で使用したいと思いますCounterCache

私はCakePHP の本に従いましたが、これは特殊なケースだと思いますPostsTable

手伝って頂けますか?ありがとう。

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

cakephp-3.1 - CakePHP 3 で json ビューのテンプレートをどこに作成すればよいですか?

私は CakePHP 3.1 を使用しており、Userモデルの json インデックス レスポンスをレンダリングしようとしています。CakePHP のマニュアルページに従い、index.ctpディレクトリの下に作成しましsrc/Template/Users/json/たが、ファイルがコントローラにフックされません。も試しsrc/View/Usersましたが、うまくいきませんでした。レンダリングするファイルを指定する必要がありますか? ではsrc/Controller/UsersController.php、私index()

$users = $this->paginate('Users'); $this->set(compact('users'));

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

cakephp - CakePHP 3: 振る舞いはどのように複数のデータを処理しますか?

データベースに格納される前にデータを処理する CakePHP 動作を作成したいと考えています。

たとえば、投稿に次のようなフォームを追加します。

投稿コントローラー:

フォームからのデータはデータベースに適切に保存されます。

次に、新しいビヘイビア (MyBehavoir など) をベイクし、PhotosTable にアタッチします。3つの「名前」フィールドすべてを取得し、それらを処理したい. ucfirst メソッドで変換し、データベースに格納するために送り返します。

ただし、最初の結果 (Zzz) のみが保存されます。

Behavior で処理した後にすべてのフィールドを保存するにはどうすればよいですか?

また、

デバッグは最初のフィールドからのデータのみを表示します