問題タブ [laravel-translatable]
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 - Laravel 5.4フィールドには、作成を使用しないデフォルト値がありません
との非常に奇妙な動作save()
。メソッドは使いませんcreate
。これは新しいレコードの作成コードです:
ただし、title
フィールドに関する次のメッセージが表示されます。
SQLSTATE[HY000]: 一般エラー: 1364 フィールド 'タイトル' に既定値がありません (SQL:
statuses
(weight
、、) 値 (-9、#FFD700、0)color
に 挿入)suspension
だからそれは問題ではありません$fillable
!
翻訳パッケージLaravel Translatableがあります。ちょうどStatus
モデルから使うのをやめたときは、結構節約!
ただし、同じパッケージを同じ方法で使用する別のモデルがありますが、新しいレコードを正常に保存できます!
この問題の根本原因を突き止めることができませんでした。
アップデート
これまでの唯一の有効な解決策は'strict' => false,
、MySQL 構成で設定することです。しかし、私はまだ何が起こっているのか理解できません?!
php - Laravel-translatable - 「文字列でメンバ関数 save() を呼び出す」
(更新) laravel-translatable パッケージを使用し、翻訳を含む行を挿入しようとしています。保存しようとすると、「文字列のメンバ関数 save() の呼び出し」というエラーが表示されます。
次のように、キーと値を使用してオブジェクトをループし"food": "Nourriture",
、ループ内で Translations テーブルを選択します。
私はドキュメンテーションとまったく同じではありません。
違いは、列「グループ」と「キー」を選択し、そのグループ = グローバルを指定するために追加の「場所」を実行することです。何か問題がありますか?
次に、既存の翻訳があるかどうかを確認しようとします。そうでない場合は、翻訳を挿入します。
translate の代わりに translateOrNew を使用します。そうしないと、「空の値からデフォルト オブジェクトを作成しています」というエラーが発生するためです。
->save()
それは文字列であり、本来あるべきモデルインスタンスではないため、メソッドを実行できないようです。だから私はこの行に何か問題があると思いますか?:
しかし、問題は何ですか?
php - nullでメンバー関数 hasTranslation() を呼び出す - Laravel
Laravel Translatables を使用しています。しかし、実行すると、次のようなエラーが発生しましたCall to a member function hasTranslation() on null
。これが私のコードです。
$slider->product
はnull$locale
ではなく、値があります'en'
このコードは昨日正常に機能しています。私が行った唯一の変更は、管理パネルから、製品の追加フィールドから必要な検証を削除したことです。
php - Laravel とパッケージ spatie/laravel-translatable -> 特殊文字の検索クエリを作成
パッケージ Spatie/laravel-translatable を使用して、翻訳されたデータを json でデータベースに保存します。
列のタイトルがあります:
ご覧のとおり、このパッケージでは、特殊文字が Unicode に変換されます。
検索したいときは機能しません(単語を探しているので論理的ですéquipe
が、データベースにはそう書かれています\u00e9quipe
)
Unicode を検索して機能させるにはどうすればよいですか?
ありがとうございました