問題タブ [bookshelf.js]
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.
javascript - JoinのBookshelfjs where句
私はbookshelfJSを使い始めたばかりで、次のことを行う方法について明確な答えを見つけることができませんでした.
次のテーブルがあるとします。
コレクションには多くの製品が含まれる場合があります。
私は次のことをしたい
コレクション ID を渡し、product_accounts の全リストを返し、そこから製品を取得するにはどうすればよいでしょうか?
参考までに、product_account_id でクエリを実行している場合は、これを行っています。
javascript - Bookshelfjs クエリ間で接続を共有する
以下の 2 つのモデルがあるとします。
fetchAll()
呼び出しが開かれた接続を共有しているかどうかは誰にもわかりませんか? それとも、すべてのデータベース呼び出しが特定の接続を使用するのでしょうか? それらが共有しない場合、操作などを閉じるまで同じ接続を使用するように指定する方法はありますか? この問題で BookshelfJS はどのように動作しますか?
皆さん、ありがとうございました!
javascript - 単一のファイルをシードのみに指定するにはどうすればよいですか
私はシードに knex を使用しており、すべてのシード ファイルがある development というフォルダーがあります。
私が望むのは、単一ファイルをシードする方法です。
私が使用しているコマンドは次のとおりです: knex seed:run --env=development しかし、このコマンドはすべてのファイルをシードするためのもので、db で重複した行を取得します。
昨日シード ファイルを作成し、それらをシードしたとします。今日は、昨日のファイルではなく、このファイルのみをシードする別のシード ファイルを追加したいとします。
Laravel の例: php artisan db:seed --class=ProductTableSeeder
ありがとう
javascript - knex.js / bookshelf.js - 列をマルチプレイするには?
基になる knex.js 構文を使用して、bookshelf.js の 2 つの列を乗算しようとしています。
これが私がやりたい純粋なSQLです(少なくともそのselect
部分):
これが私のクエリです:
コードでコメントされているように、実際にこれを行いたいと思います:qb.sum('products.price * orders_products.quantity as sum');
という名前の列がないというエラーが表示されるため、これはもちろん機能しませんproducts.price * orders_products.quantity
。
何か案は?
sql - 重複するグループをすべて検索します。ここで、重複は同じメンバーを含むグループを意味します
重複するグループをすべて検索するには、SQL クエリが必要です。重複とは、同じメンバーを持つグループを意味します。したがって、形式的に問題を書くことができます: channel_ids のすべてのセットを返します。m 個のチャネルを含む特定のセットでは、チャネル i から m までが同じメンバーを含んでいます。group_id、user_id、users テーブル、groups テーブルを持つ結合テーブル groups_members があります。助けてくれてありがとう。
node.js - FetchAll の withRelated を制限する BookshelfJS が機能しない
との間hasMany
に tobelongsTo
関係がboxes
ありbox_states
ます。
すべてのボックスを最新の状態で取得したいので、これが私のクエリです。
これはすべてのボックスを返しますが、最後のボックスだけが 1 つのリレーションを持っています。すべては関係ありません。
助けていただければ幸いです。
mysql - Bookshelf.js - 結合テーブルから列を取得するには?
User モデルと Course モデルがあり、それらは多対多の関係にあるため、基本的にユーザーは複数のコースに参加でき、コースには多くのユーザー (学生) がいます。結合テーブルがあり、結合テーブルに追加情報を追加しようとしています。基本的に、ユーザーには、コースごとに質問できる質問の毎月の割り当てがあります。そこで、User_Course 結合テーブルにクォータ列を追加しました。クォータ列にアクセスできません。以下は、アイデアを与えるための関連コードです。
User_Course は、追加のクォータ列を持つ結合テーブルです。
割り当て値を減らすことができるようにしたいと考えています。updatePivot を使用して更新することはできますが、クォータ内の値を単純に取得することはできません。値を更新するために使用しているコードは次のとおりです。
ご覧のとおり、ここではクォータ値を毎回 1 に更新しています。現在のクォータ値をプログラムで判断し、それを減らしたいと思います。
node.js - Sails/Bookshelf Sails/Bookshelf 環境を使用するスクリプトの実行
サーバーのバックグラウンドで cron タスクとして実行するスクリプトを作成したいと考えています。
スクリプトがセイル環境にアクセスできるようにしたいと考えています (つまり、すべてのモジュール、特に bookshelf と knex、およびデータベース接続をロードします)。
次のようなファイル myscript.js を作成できるように
実際には、このスクリプトには bookshelf モジュールと db 接続のみが必要なので、bookshelf にはこれを行う方法がある可能性がありますが、それは Sails に組み込まれているものだと思います。