問題タブ [kohana-db]
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.
kohana-3 - コハナの自動モデラー更新機能のキー「PRIMARY」のエントリ「2」が重複しています
更新を実行しようとしていますが、何も機能していないようです。コールバックが無効になっているときに更新がうまく機能するので、それは私のコールバックと関係があると思います。これは私のtryブロックです。
php - Kohana データベース エラー: 新しく作成されたテーブルが存在しません
テーブルkohana_blog. article
が作成されます。しかし、それでもこのエラーが表示されます。何が問題なのかわからない。これは見られるエラーです:
kohana - コハナセッションは生成し続けます
データベースに保存されるようにセッションを設定しようとしていますが、ログインしようとするたびに、新しいセッションIDを生成し、新しいレコードを挿入し続けます。これは、セッションを変更した後の最大の問題です。native
から私のログインへのドライバーdatabase
は機能しません、それはユーザーにログインしますが、ページの更新直後にそれはログアウトされます、ここで私の設定:
authconfigのこの行を次のように変更しました。
に:
kohana - データベース エラー エントリが重複しています
したがって、データの挿入中に値が重複している場合、このエラーが発生します。クエリは正しくなりました。phpmyadmin で実行しようとしましたが、問題なく動作しましたが、kohana でエラーが発生しました。クエリは次のようになります。
そして純粋なSQLでは:
したがって、基本的には挿入しようとし、重複する値を更新しますが、何らかの理由でkohanaでエラーが発生します:
このエラーを削除するにはどうすればよいですか?
mysql - 元のデータ型のデータベースからの戻り値(Kohana ORM)
データベーステーブルactive
に、ユーザーがメールを確認したかどうかを返す列があります。これはtinyint(1)であり、0に設定されていて、FALSEに対して厳密にテストした場合、演算子はTRUEを返しません。ORMを使用してデータベースと通信します。
これはMySQLデータベースで設定されます:
active tinyint(1)はい0
私はAPIで解決策を探していましたが、データベースクラスにはすでにtinyintデータ型がありました。
===の代わりに==を使用する必要がありますか、それとも他にできることがありますか?
kohana - コハナ3.2の関係-参加
私はmysqlに現在のデザインを持っています:
テーブルファイルの件名
コハナに、私が次のようなものを作った場合に関係を設定する方法はありますか?
ORM :: factory('filesubject')-> where('file_id'、'='、$ file-> id)-> find_all()-> as_array());
他のテーブルからすべての結合を取得するということですか?
kohana - クエリビルダーを使用したKohana3クロステーブルの更新
DBクエリビルダーを使用してKohana3でクロステーブル更新を構築する適切な方法は何ですか?
現在、私はDB :: exprを使用していますが、クエリビルダーはそれよりも賢いことを知っています。
もちろん、SELECTクエリを作成するときのように「結合」メソッドを使用しようとしましたが、エラーが発生します。
kohana - Kohana - ORM の検証
しばらくコハナを使っています。問題なく「has_many」、「has_one」、「belongs_to」を使用しています。私の質問は次のとおりです。
次のような 2 つのテーブルがある場合:
tbl_foo1
tbl_foo2
tbl_foo1 は tbl_foo2 に属し、tbl_foo2 には多くの tbl_foo1 があります。これまでのところ、うまくいっています。
問題は、コントローラーに関係を保存しようとするときです..だから私はこのコードを持っています:
わかりました、これはうまくいくはずですが、これは最善の解決策でも最も美しい解決策でもないと思います。2 つの理由から、1 つはパフォーマンスのため - 3 つのクエリ (1 つは $t1 を保存するため、2 つは $t2 を見つけるため、3 つは $t2 と $t1 の関係を保存するため) を実行し、2 つは空のレコードを保存する可能性があるためです。 t $t2 内のレコードの存在を検証します。
私の主な質問は、これをどのように行うべきかということです。
私自身の解決策
ビアカヴェロンがくれた解決策を使いました、ありがとう。それでも、検証の問題がありました..そのため、同じ例を使用して、時間をかけて解決策を考え出しました。
tbl_foo1
モデルに rules 関数を追加しました:
したがって、この方法では別のクエリを実行する必要がありません。これはパフォーマンスに優れており、簡単な方法です。ORM がモデルの id を見つけようとするときに、tbl_foo2
それが見つからない場合は NULL を返すため、それは機能します。そのため、何があっても常に空になります!
注: DB トランザクションも使用したため (これはプロセスの一部にすぎないため)、クエリの 1 つが何らかの理由で中断した場合、クエリは実行されません。トランザクションをサポートする 1 つのデータベース エンジンを使用する必要があることを覚えておいてください (私の場合は InnoDB です)。
php - Kohana 3.2のクエリ結果からインデックス付き配列を取得するにはどうすればよいですか?
INDEXED配列の結果を取得するにはどうすればよいですか?
学習目的のためだけに、ありがとう。
それは次のようなものです: