Questions tagged «eloquent»

Laravel随附的Eloquent ORM为使用您的数据库提供了一个漂亮,简单的ActiveRecord实现。每个数据库表都有一个对应的“模型”,用于与该表进行交互。模型使您可以查询表中的数据,以及将新记录插入表中。

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 }

15
选择表中的最后一行
我想检索插入到表中的最后一个文件。我知道该方法first()存在,并为您提供表中的第一个文件,但我不知道如何获取最后一个插入。
163 laravel  eloquent 

11
使用雄辩的ORM在Laravel中批量插入
我们如何使用雄辩的ORM在Laravel中执行批量数据库插入? 我想在Laravel中完成此操作:https ://stackoverflow.com/a/10615821/600516, 但出现以下错误。 SQLSTATE [HY093]:无效的参数编号:命名和位置参数混合。

8
Laravel检查相关模型是否存在
我有一个口才的模型,其中有一个相关的模型: public function option() { return $this->hasOne('RepairOption', 'repair_item_id'); } public function setOptionArrayAttribute($values) { $this->option->update($values); } 创建模型时,它不一定具有相关的模型。更新时,我可能会添加一个选项,也可能不会添加。 因此,我需要检查相关模型是否存在,以分别对其进行更新或创建: $model = RepairItem::find($id); if (Input::has('option')) { if (<related_model_exists>) { $option = new RepairOption(Input::get('option')); $option->repairItem()->associate($model); $option->save(); $model->fill(Input::except('option'); } else { $model->update(Input::all()); } }; <related_model_exists>我要查找的代码在哪里。

6
如何在Laravel口才查询中为表加上别名(或使用查询生成器)?
可以说我们正在使用Laravel的查询生成器: $users = DB::table('really_long_table_name') ->select('really_long_table_name.id') ->get(); 我正在寻找等效于此SQL: really_long_table_name AS short_name 当我必须在许多选择和位置键入(或通常在选择的列别名中也包含别名,并且在结果数组中使用别名)时,这将特别有用。没有任何表别名,我需要输入更多的内容,并且所有内容的可读性也大大降低。在laravel文档中找不到答案,有什么想法吗?

10
Laravel雄辩的“ WHERE NOT IN”
我无法在中编写查询laravel eloquent ORM。 我的查询是 SELECT book_name,dt_of_pub,pub_lang,no_page,book_price FROM book_mast WHERE book_price NOT IN (100,200); 现在,我想将此查询转换为雄辩的laravel。

2
如何使用口才/流利的单个查询插入多行
我有以下查询: $query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get(); 并按预期得到以下结果: [{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}] 有没有一种方法可以将上述结果复制到另一个表中,以便我的表看起来像这样? ID|user_id|subject_id 1 |8 |9 2 |8 |2 我的问题是$query可以预期任意数量的行,因此不确定如何迭代未知数量的行。
143 php  sql  laravel  eloquent 

18
如何在laravel雄辩中选择特定的列
可以说我表中有7列,而我只想选择其中的两列,就像这样 SELECT `name`,`surname` FROM `table` WHERE `id` = '1'; 在laravel雄辩的模型中,它可能看起来像这样 Table::where('id', 1)->get(); 但是我想这个表达式会选择id等于1的所有列,而我只需要两列(名称,姓氏)。如何只选择两列?



4
遵循存储库模式管理Laravel中的关系
在阅读了T. Otwell关于Laravel良好设计模式的书后,在Laravel 4中创建了一个应用程序时,我发现自己为应用程序中的每个表创建了存储库。 我最终得到以下表结构: 学生:身份证,姓名 课程:id,名称,teacher_id 老师:身份证,姓名 作业:id,名称,course_id 分数(充当学生和作业之间的枢纽):student_id,assignment_id,分数 我具有所有这些表的查找,创建,更新和删除方法的存储库类。每个存储库都有一个与数据库交互的Eloquent模型。关系根据Laravel的文档在模型中定义:http ://laravel.com/docs/eloquent#relationships 。 创建新课程时,我要做的就是在课程库上调用create方法。该课程有作业,因此在创建作业时,我还想在分数表中为该课程中的每个学生创建一个条目。我是通过分配库来完成的。这意味着作业库与两个Eloquent模型(作业和学生模型)进行通信。 我的问题是:由于此应用程序的大小可能会增加,并且会引入更多的关系,因此是与存储库中不同的Eloquent模型进行通信的好习惯还是应该使用其他存储库来代替(我的意思是从Assignment存储库调用其他存储库)还是应该在Eloquent模型中一起完成? 另外,将分数表用作作业和学生之间的枢纽是一种好习惯,还是应该在其他地方完成?

10
如何在Laravel中执行此操作,子查询在哪里
如何在Laravel中进行以下查询: SELECT `p`.`id`, `p`.`name`, `p`.`img`, `p`.`safe_name`, `p`.`sku`, `p`.`productstatusid` FROM `products` p WHERE `p`.`id` IN ( SELECT `product_id` FROM `product_category` WHERE `category_id` IN ('223', '15') ) AND `p`.`active`=1 我也可以通过联接来做到这一点,但是我需要这种格式来提高性能。


4
Laravel雄辩的关系总和
我一直在研究购物车应用程序,现在我遇到了以下问题。 有一个用户,一个产品和一个购物车对象。 -购物车表仅包含以下列:“ id”,“ user_id”,“ product_id”和时间戳。 -UserModel“ hasMany”购物车(因为用户可以存储多个产品)。 -CartModel“属于”用户,而CartModel“具有很多”产品。 现在,我可以计算出总产品数:Auth::user()->cart()->count()。 我的问题是:如何获得该用户购物车中产品的价格(产品列)的SUM()? 我想用Eloquent而不是使用查询来完成此操作(主要是因为我认为它更干净)。

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.