Questions tagged «laravel-query-builder»


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(); 有没有更好的方法可以做到这一点,还是我应该坚持使用这种方法?



13
在Laravel Eloquent中使用“ With()”函数获取特定列
我有两个表,User和Post。一个User可以有许多posts,一个post只能属于一个user。 在我的User模型中,我有一个hasMany关系... public function post(){ return $this->hasmany('post'); } 在我的post模型中,我有一个belongsTo关系... public function user(){ return $this->belongsTo('user'); } 现在,我想使用来连接这两个表,Eloquent with()但是想要第二个表中的特定列。我知道我可以使用查询生成器,但我不想这样做。 当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` …

20
获取在Laravel 3/4中执行的查询
如何使用Laravel Query Builder或Eloquent ORM在Laravel 3/4中检索原始执行的SQL查询? 例如,如下所示: DB::table('users')->where_status(1)->get(); 要么: (posts (id, user_id, ...)) User::find(1)->posts->get(); 否则,至少如何将所有执行的查询保存到laravel.log?

13
创建和更新Laravel雄辩
插入新记录或更新(如果存在)的快捷方式是什么? <?php $shopOwner = ShopMeta::where('shopId', '=', $theID) ->where('metadataKey', '=', 2001)->first(); if ($shopOwner == null) { // Insert new record into database } else { // Update the existing record }

6
使用查询生成器或口才的具有附加条件的JOIN
我正在尝试使用Laravel查询生成器的JOIN查询添加条件。 <?php $results = DB::select(' SELECT DISTINCT * FROM rooms LEFT JOIN bookings ON rooms.id = bookings.room_type_id AND ( bookings.arrival between ? and ? OR bookings.departure between ? and ? ) WHERE bookings.room_type_id IS NULL LIMIT 20', array('2012-05-01', '2012-05-10', '2012-05-01', '2012-05-10') ); 我知道我可以使用原始表达式,但随后会有SQL注入点。我已经使用查询生成器尝试了以下操作,但是生成的查询(显然是查询结果)不是我想要的: $results = DB::table('rooms') ->distinct() ->leftJoin('bookings', function ($join) …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.