タグ付けされた質問 「eloquent」

Laravelに含まれるEloquent ORMは、データベースを操作するための美しくシンプルなActiveRecord実装を提供します。各データベーステーブルには、そのテーブルとの対話に使用される対応する「モデル」があります。モデルを使用すると、テーブルのデータをクエリしたり、テーブルに新しいレコードを挿入したりできます。

4
雄弁-等しくない場所
現在、最新のLaravelバージョンを使用しています。 私は次のクエリを試しました: Code::where('to_be_used_by_user_id', '<>' , 2)->get() Code::whereNotIn('to_be_used_by_user_id', [2])->get() Code::where('to_be_used_by_user_id', 'NOT IN', 2)->get() 理想的には、 user_id = 2がありますが、空の配列を返します。これにどのように取り組むのですか? Code::all() これは4つのレコードすべてを返します。 コードモデル: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Code extends Model { protected $fillable = ['value', 'registration_id', 'generated_for_user_id', 'to_be_used_by_user_id', 'code_type_id', 'is_used']; public function code_type() { return $this->belongsTo('App\CodeType'); } }
110 laravel  eloquent 

1
複数のIDに基づいてLaravelモデルの結果を取得する
アプリケーションに実装ZendSearchしましたLaravel。私はそれをユーザーが検索ワードを入力する検索エンジンとして使用しており、ZendSearch関連性順に並べられた結果の配列を返します。ただし、ZendSearch返される配列は、レコードIDのみを返します(実際のレコード情報は返しません)。 次に、モデルをクエリして、ZendSearch関連性に基づいて順序付けられたIDの配列である配列結果に基づいて結果を取得する正しい方法は何でしょうか。 Model::find(1)IDが1のレコードを返すのはわかっていますが、返しfind()たいIDの配列を、指定した順序でそのメソッドにどのようにフィードできますか。

10
Laravel Eloquent groupBy()AND各グループのカウントも返す
他の列の中で、ブラウザのバージョンの列を含むテーブルがあります。そして、私は単にレコードセットから、各タイプのブラウザの数を知りたいだけです。だから、私はこのようなもので終わる必要があります:Total Records:10; Internet Explorer 8:2; Chrome 25:4; Firefox 20:4(すべて合計で10) これが私の2ペンスです。 $user_info = Usermeta::groupBy('browser')->get(); もちろん、これには3つのブラウザのみが含まれ、それぞれの数は含まれていません。これどうやってするの?

15
Laravel Eloquent:結合されたテーブルから特定の列のみを取得する方法
Eloquentには、テーマとユーザーという2つの結合テーブルがあります。 テーマモデル: public function user() { return $this->belongs_to('User'); } ユーザーモデル: public function themes() { return $this->has_many('Theme'); } 私の雄弁なapi呼び出しは次のようになります。 return Response::eloquent(Theme::with('user')->get()); これは、テーマのすべての列を返します(それで問題ありません)、ユーザーのすべての列を返します(問題ありません)。ユーザーモデルの 'username'列だけが必要ですが、クエリをそれに制限するにはどうすればよいですか?
102 php  laravel  eloquent 

11
他のGETパラメーターを含まないLaravelページネーションリンク
EloquentをLaravel 4のPaginationクラスと一緒に使用しています。 問題: URLにいくつかのGETパラメーターがある場合(例http://site.com/users?gender=female&body=hot:)、生成されるページネーションリンクにはpageパラメーターのみが含まれ、他には何も含まれません。 ブレードテンプレート {{ $users->link() }} これには->append()関数がありますが、GETパラメーターがいくつあるかわからない場合、ブレードテンプレートをめちゃくちゃにするコードappend()全体を使わずに、ページングされたリンクに他のGETパラメーターを含めるにはどうすればよいifでしょうか。

7
Laravelクエリビルダーを使用してサブクエリから選択する方法
Eloquent ORMを使用して次のSQLで値を取得したいと思います。 -SQL SELECT COUNT(*) FROM (SELECT * FROM abc GROUP BY col1) AS a; それから私は次のことを考えました。 -コード $sql = Abc::from('abc AS a')->groupBy('col1')->toSql(); $num = Abc::from(\DB::raw($sql))->count(); print $num; より良い解決策を探しています。 最も簡単な解決策を教えてください。

1
ララヴェル。関係のあるモデルでscope()を使用する
関連するモデルが2つあります:CategoryとPost。 Postモデルが有するpublished範囲(法scopePublished())。 そのスコープを持つすべてのカテゴリを取得しようとすると: $categories = Category::with('posts')->published()->get(); エラーが発生します: 未定義のメソッドの呼び出し published() カテゴリー: class Category extends \Eloquent { public function posts() { return $this->HasMany('Post'); } } 役職: class Post extends \Eloquent { public function category() { return $this->belongsTo('Category'); } public function scopePublished($query) { return $query->where('published', 1); } }

6
Laravelがピボットテーブルに複数のレコードを追加しないようにする
私が使用するカートにアイテムを追加するために、多対多の関係が設定されて機能しています。 $cart->items()->attach($item); (必要に応じて)ピボットテーブルにアイテムを追加しますが、ユーザーがリンクを再度クリックして既に追加したアイテムを追加すると、ピボットテーブルに重複したエントリが作成されます。 レコードがまだ存在しない場合にのみ、ピボットテーブルにレコードを追加する組み込みの方法はありますか? そうでない場合、ピボットテーブルをチェックして、一致するレコードが既に存在するかどうかを確認するにはどうすればよいですか?

12
Laravel Eloquent -distinct()とcount()が一緒に正しく機能しない
だから私はクエリで異なるpidの数を取得しようとしていますが、戻り値が間違っています。 これは私がやろうとしていることです: $ad->getcodes()->groupby('pid')->distinct()->count() 値「2」を返すものは、「1」でなければなりません。 回避策として、私はこれをやっています: count($ad->getcodes()->groupby('pid')->distinct()->get()) 正常に動作し、「1」を返すもの カウントとディスティンクトを同じクエリに含めることができないルールはありますか?私は回避策が「重い」と感じているので、元のクエリを機能させたい:(

5
LaravelでEloquent ORMを使用してLIKEを使用したデータベースの検索を実行する
Eloquentのアクティブなレコード作成を使用して検索クエリを作成したいのですが、これはLIKE検索になります。User::find($term)またはを見つけましたUser::find(1)が、これはlikeステートメントを生成していません。私は直接的な答えを探しているわけではありませんが、誰かが少なくとも私に調べる方向を教えてくれるなら、それは素晴らしいことです!

12
Laravelで非キー列フィールドの個別の値を取得するにはどうすればよいですか?
これは非常に簡単かもしれませんが、方法がわかりません。 特定の非キー列フィールドに対して繰り返し値を持つことができるテーブルがあります。その列に異なる値を持つ行をフェッチするQueryBuilderまたはEloquentを使用してSQLクエリを作成するにはどうすればよいですか? その列だけをフェッチしているのではなく、他の列値と組み合わせているため、distinct()実際には機能しない可能性があることに注意してください。したがって、その質問は基本的に、distinct()パラメータを受け入れないクエリで区別したい列をどのように指定するかということです。

6
Eloquentのデフォルトの主キーを変更する
Eloquentモデルの主キーを変更できますか? たとえばadmin_id「id」の代わりに主キーを設定したいですか? 私はモデルのテーブル名を次のように変更できることを知っています protected $table = "admin"; 主キーに似たものはありますか?

7
LaravelEloquent-1行取得
これは簡単な質問かもしれませんが、私には理解できません。以下を使用してメールでユーザーを取得しようとしています。 $user = User::whereEmail($email)->get(); しかし、これは$ usersの(次元1の)配列を返しています。だから私が名前を取得したいのなら、私はしなければなりません$user[0]['first_name']。 私が使ってみlimit(1)たりtake(1)、あるいは使用し->toArray()たが差はなかったです。 私は何が間違っているのですか?
90 laravel  eloquent 

4
Laravelは多対多の関係を保存/更新します
多対多の関係を保存する方法について誰かが私を助けることができますか?私にはタスクがあり、ユーザーには多くのタスクがあり、タスクには多くのユーザー(多対多)があります。私が達成したいのは、更新フォームで管理者が複数のユーザーを特定のタスクに割り当てることができることです。これは、htmlの複数選択入力を介して行われます name="taskParticipants[]" ここでの落とし穴は、同じフォーム(入力)を介してユーザーを追加/削除できることです。そのため、sync()を使用する必要があります。たぶん私は最初から始めるべきですが、どこから始めればいいのかわかりません... これは私のユーザーモデルです: public function tasks() { return $this->belongsToMany('Task','user_tasks'); } タスクモデル public function taskParticipants() { return $this->belongsToMany('User','user_tasks'); } TaskController public function update($task_id) { if (Input::has('taskParticipants')) { foreach(Input::get('taskParticipants') as $worker) { $task2 = $task->taskParticipants->toArray(); $task2 = array_add($task2,$task_id,$worker); $task->taskParticipants()->sync(array($task2)); } } } これはテーブル タスクの構造ですid | title | deadline user_tasks id|task_id|user_id

5
Eloquentは配列として1つの列のみを取得します
雄弁なものを使用して、laravel 5.2で1つの次元配列として1つの列のみを取得するにはどうすればよいですか? 私が試してみました: $array = Word_relation::select('word_two')->where('word_one', $word_id)->get()->toArray(); しかし、これは次のような2次元配列としてそれを与えます: array(2) { [0]=> array(1) { ["word_one"]=> int(2) } [1]=> array(1) { ["word_one"]=> int(3) } } しかし、私はそれを次のように取得したいと思います: array(2) { [0]=>2 [1]=>3 }

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.