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

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

21
Laravel Eloquentを使用して複数のWhere句クエリを作成する方法
Laravel Eloquentクエリビルダーを使用していて、WHERE複数の条件で句が必要なクエリがあります。動作しますが、エレガントではありません。 例: $results = User::where('this', '=', 1) ->where('that', '=', 1) ->where('this_too', '=', 1) ->where('that_too', '=', 1) ->where('this_as_well', '=', 1) ->where('that_as_well', '=', 1) ->where('this_one_too', '=', 1) ->where('that_one_too', '=', 1) ->where('this_one_as_well', '=', 1) ->where('that_one_as_well', '=', 1) ->get(); これを行うより良い方法はありますか、またはこの方法を使用する必要がありますか?

30
Laravel Eloquentを使用して最後に挿入されたIDを取得する
現在、次のコードを使用してテーブルにデータを挿入しています。 <?php public function saveDetailsCompany() { $post = Input::All(); $data = new Company; $data->nombre = $post['name']; $data->direccion = $post['address']; $data->telefono = $post['phone']; $data->email = $post['email']; $data->giro = $post['type']; $data->fecha_registro = date("Y-m-d H:i:s"); $data->fecha_modificacion = date("Y-m-d H:i:s"); if ($data->save()) { return Response::json(array('success' => true), 200); } } 最後に挿入されたIDを返したいのですが、取得方法がわかりません。 敬具!


11
雄弁なコレクション:カウントと空の検出
これはささいな質問かもしれませんが、Laravelから返されたEloquentコレクション$result = Model::where(...)->get()が空であるかどうかを確認し、要素の数をカウントするための特定の方法を推奨するかどうか疑問に思っています。 !$result空の結果を検出するために現在使用していますが、それで十分ですか?に関してはcount($result)、空の結果を含むすべてのケースを実際にカバーしていますか?


14
Laravel-EloquentまたはFluentのランダムな行
LaravelフレームワークでEloquentまたはFluentを使用してランダムな行を選択するにはどうすればよいですか? SQLを使用すると、RAND()で順序を指定できることがわかります。ただし、最初のクエリの前にレコード数を数えずにランダムな行を取得したいと思います。 何か案は?
242 php  fluent  laravel  eloquent 


9
ロード時にLaravel / Eloquentモデルにカスタム属性を追加しますか?
RedBeanの $model->open()メソッドで実現できる方法と同様に、ロード時にLaravel / Eloquentモデルにカスタム属性/プロパティを追加できるようにしたいと思います。 たとえば、現時点では、私のコントローラーには次のものが含まれています。 public function index() { $sessions = EventSession::all(); foreach ($sessions as $i => $session) { $sessions[$i]->available = $session->getAvailability(); } return $sessions; } ループを省略して、 'available'属性を既に設定および設定できると便利です。 ドキュメントで説明されているいくつかのモデルイベントを使用して、オブジェクトの読み込み時にこのプロパティをアタッチしようとしましたが、これまでのところ成功していません。 ノート: 「利用可能」は、基になるテーブルのフィールドではありません。 $sessionsAPIの一部としてJSONオブジェクトとして返されているため$session->available()、テンプレートのようなものを呼び出すことはオプションではありません
219 php  orm  laravel  eloquent 

7
Eloquentで「nullでない場合」をどのようにチェックしますか?
Eloquentでフィールドがnullでないかどうかをどのように確認しますか? 試しましたModel::where('sent_at', 'IS NOT', DB::raw('null'))->...がIS NOT、比較ではなくバインディングとして表示されます。 これはそれについてDB::getQueryLog()言っていることです: 'query' => string 'select * from my_table where sent_at = ? and profile_id in (?, ?) order by created_at desc' (length=101) 'bindings' => array (size=3) 0 => string 'IS NOT' (length=6) 1 => int 1 2 => int 4
218 laravel  eloquent 

9
Laravel Eloquent:all()の注文結果
簡単な仕事にこだわっています。この通話の結果を注文するだけです $results = Project::all(); Projectモデルはどこですか。私はこれを試しました $results = Project::all()->orderBy("name"); しかし、それはうまくいきませんでした。テーブルからすべてのデータを取得して順序付けするためのより良い方法はどれですか?


30
移行:外部キー制約を追加できません
Laravelで外部キーを作成しようとしていますが、使用してテーブルを移行するとartisan、次のエラーがスローされます。 [Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL : alter table `priorities` add constraint priorities_user_id_foreign foreign key (`user_id`) references `users` (`id`)) 私の移行コードは次のとおりです: 優先度移行ファイル public function up() { // Schema::create('priorities', function($table) { $table->increments('id', true); $table->integer('user_id'); $table->foreign('user_id')->references('id')->on('users'); $table->string('priority_name'); $table->smallInteger('rank'); $table->text('class'); $table->timestamps('timecreated'); }); } /** * Reverse the migrations. …

13
Laravel Eloquentの「With()」関数を使用して特定の列を取得する
テーブルが2つUserありPostます。1つUserは多数をposts持ち、1つpostは1つだけに属しuserます。 私のUserモデルにはhasMany関係があります... public function post(){ return $this->hasmany('post'); } そして、私のpostモデルにはbelongsTo関係があります... public function user(){ return $this->belongsTo('user'); } 次に、これらの2つのテーブルを使用して結合したいのですがEloquent with()、2番目のテーブルの特定の列が必要です。クエリビルダーを使用できることはわかっていますが、使用したくありません。 Postモデルの中で私が書くとき... public function getAllPosts() { return Post::with('user')->get(); } 次のクエリを実行します... select * from `posts` select * from `users` where `users`.`id` in (<1>, <2>) しかし、私が欲しいのは... select * from `posts` select id,username from `users` where `users`.`id` …


10
Laravelの雄弁なタイムスタンプを無効にする
現在、Webアプリケーションの1つをCodeIgniterからLaravelに変換しています。ただし、この時点ではすべてのテーブルにupdated_at/ created_atフィールドを追加する必要はありません。これは、これをすべてより詳細に行うロギングクラスがあるためです。 私は設定できることを知っています$timestamps = false;: Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php ただし、Laravelのコアファイルを変更したり、モデルの全員に一番上に配置したりするのは避けたいです。すべてのモデルで他の場所でこれを無効にする方法はありますか?
186 php  laravel  eloquent 

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