問題タブ [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.
cakephp-3.0 - CakePHP 3.x Src から Api -> コントローラー -> アクションを呼び出す方法 -> コントローラー -> アクション?
API の目的で別のアプリを構築しようとしているため、要件に従ってコンポーザー ファイルに変更を加え、API コントローラーやモデルなどを自動ロードします。
このような:
これで、cakephp 3.x フォルダー構造は以下のようになります。
以下のように、API フォルダーにあるコントローラー/アクションを呼び出そうとしています。
からの呼び出しを試みています:
呼び出す方法はありますか?
使用できますrequestAction
が、SRC と UserControler のような API の両方のフォルダーに同じコントローラーとアクション名が存在します -> login その場合のアクションは SRC コントローラーである可能性があり、アクションが呼び出されます。これが主な問題であり、解決方法は?
アイデアをお持ちの方は、あなたの考えや知識を共有してください。
ありがとう!
php - 介入画像: 元のファイル名と拡張子を使用して URL から直接画像を保存しますか?
リモートサーバーから画像を取得するときにファイル名を取得する方法は? 元のサイズとファイル名で保存する方法は?
私は干渉( http://image.intervention.io/api/make ) を使用して CakePHP 3 画像の動作を構築します。リモート サーバーから簡単にアップロードできるようにし、元の画像を将来の操作のソースとして保持したいと考えています。
編集
リモート サーバーから取得したファイルの名前を返すIntervention Imageメソッドはありますか。私はphp copy()、basename()を知っています。CakePHPファイルユーティリティも使用できますが、リモートファイルで重複したリクエストが返されます。
cakephp - CakePHP 3 コントローラーのアクション -> スマートにする方法
おそらく最も洗練されていない方法でコントローラー アクションを実装します。これはどのように改善できますか?テーブル クラスは after と同じbin/cake bake
です。Entityを作成する部分はかなり簡略化できたと思います。
私がやっていること: Books --belongsTo--> Publishers <--habtm--> Publishernumbers 本をデータベースに追加するとき、publishernumber は ISBN 番号から抽出されます。この番号は、habtm 関係で出版社にリンクされます。フォームに isbn を入力するときに、ユーザーにいくつかの出版社を提案するには、これが必要です。
コードは今のところ機能しますが、1 年後、私がここで何をしたかは神のみぞ知るでしょう。最初の部分は簡単です。
これは混乱が始まる部分です。これはもっとエレガントにできると思います。
保存
validation - CakePHP 3.1: 翻訳動作フィールドの検証 (i18n)
CakePHP のtranslate behaviorを使用して、1 つのフォームに複数の翻訳を含むアイテムを追加しようとしています。
翻訳フィールドを検証するにはどうすればよいですか? たとえば、特定の言語を必須にしますか?
本で説明されているように設定された、別の変換テーブルitems
を持つ単純なテーブルがあると仮定しましょう。簡単な例として、テーブルには翻訳するフィールドが 1 つしかなく、5 つの言語で保存したいとします。だから私はこのようなフォームを作成します(ビューテンプレートで): items_i18n
items
title
title
add
そして、次のadd
ようにコントローラー(アクション/関数)に保存します:
これは検証なしで機能するか、「ネイティブ」フィールドの検証ルールしかない場合にtitle
機能します (スタックオーバーフローのコードを単純化し、例の一部の名前を変更したため、タイプミスがある可能性がありますが、アイデアを得る必要があります) ...)。
さらに、英語(デフォルト) とスペイン語が必須で、他の言語フィールドはオプションであるとします。どうすればそれを達成できますか?
で、ItemsTable
検証のために次のようなことを試しました:
patchEntity($item, $this->request->data);
ただし、翻訳が破棄されるため、常に「このフィールドは必須です」という検証エラーが発生します。これは、ワークフローの保存に関する GitHub の未解決の問題でわかっています (ところで、このリクエストには +1 :)。
そのため、現在、CakePHP の翻訳動作を使用するときに翻訳フィールドの検証ルールを定義する方法があるかどうかはわかりません...必要な言語フィールドは単なる例です。最小/最大などを検証する場合、同じ問題が発生します。外国語の入力フィールドの長さ...
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_FR
varchar(6)
php - CakePHP 3.1: joinTable に同じ外部キーを保存しますが、_joinData は異なります
保存したいモデルにこの関連付けがあります:
同じだが異なる値tags_associations
を持つ関連するテーブル 2 レコードに保存したい。これは一例ですTags.id
_joinData
私の例では、2 番目のエンティティのみが tags_association テーブルに保持されます。
cakephp - CakePHP 3: BelongsToMany を使用した CounterCache
関連付けがありBelongsToMany
、テーブルはPostsTable
とです。TagsTable
PostsTagsTable
ここで CakePHP の本 (関連)で説明されているように、次のフィールドがあります。
今のところ、すべてが正しく機能しています。tags.post_count
ですから、おわかりのように、フィールドを で使用したいと思いますCounterCache
。
私はCakePHP の本に従いましたが、これは特殊なケースだと思いますPostsTable
。
手伝って頂けますか?ありがとう。
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'));
cakephp - CakePHP 3: 振る舞いはどのように複数のデータを処理しますか?
データベースに格納される前にデータを処理する CakePHP 動作を作成したいと考えています。
たとえば、投稿に次のようなフォームを追加します。
投稿コントローラー:
フォームからのデータはデータベースに適切に保存されます。
次に、新しいビヘイビア (MyBehavoir など) をベイクし、PhotosTable にアタッチします。3つの「名前」フィールドすべてを取得し、それらを処理したい. ucfirst メソッドで変換し、データベースに格納するために送り返します。
ただし、最初の結果 (Zzz) のみが保存されます。
Behavior で処理した後にすべてのフィールドを保存するにはどうすればよいですか?
また、
デバッグは最初のフィールドからのデータのみを表示します