草庐IT

eloquent

全部标签

php - 来自查询构建器的 laravel Eloquent 关系

如果我这样做,我将能够检索item的images()$items=Item::all();foreach($itemsas$item){$image=$item->images()->first();}但是,如果我使用查询构建器进行复杂查询。我将无法从中获取images()。考虑到这是一个查询构建器,有没有办法从Eloquent模型中获取所有关系数据?$items=DB::table('itemsasi')->join('usersASu','i.user_id','=','u.id')->where('account_id',5)->all();foreach($itemsas$it

php - Laravel 不执行带有 'having' 子句的查询

我已经使用各种Eloquent函数(即$this->newQuery()->join....)手动构建了一个大型查询,但我无法让它运行。当我打电话echo$query->toSql();它向我展示了查询。我可以将它复制并粘贴到我的命令行mysql客户端中,它运行良好,并返回几行。但是当我打电话时echo$query->count();或echo$query->get()->count();显示为0。我最终启用了我的mysql通用日志以查看发生了什么。我看到当laravel运行时,它执行了几个查询——每个查询在日志中都有一个prepare行,然后是一个execute行。但是这个没有。看起

php - Laravel Eloquent hasOne 返回空

我有两个名为“works”和“slides”的表,以及两个扩展Eloquent的名为“Work”和“Slide”的类。在我的“作品”表中,我有一个“id”列、一个“标题”列、一个“描述”列和一个“图像”列,在我的“幻灯片”表中,我有一个使用两列外键的复合键名为“id”和“work_id”。这是我的数据库关系的样子:这是我的幻灯片类的代码:classSlideextendsEloquent{public$timestamps=false;publicfunctionworkId(){return$this->hasOne('work','work_id','id');}}这是我的Work

php - 如何在数据库的同一列中保存多个行输入?

数据库表id|title|reading|writing|speaking表单.blade.phpLanguageReadingWritingSpeakingHighMediumLowHighMediumLowHighMediumLowHighMediumLowHighMediumLowHighMediumLow语言Controller.php$languages=Language::create(array('title'=>$input['TitleText_1'],'reading'=>$input['ReadingText_1'],'writting'=>$input['Wri

php - 被连接覆盖的 ID 列

使用Laravel4.2和MySQL。我有一个包含id和fit_score_id列的applications表,以及一个包含id列。这是一种基本的“属于”关系。以下代码:$query=Application::join('fit_scores','applications.fit_score_id','=','fit_scores.id');$collection=$query->get();...生成Application模型的集合,其中id属性设置为fit_score_id的值。我在做什么导致了这种情况?我应该指出,有必要执行此连接而不是简单地使用Eloquent关系,因为我想按f

php - Laravel 获取特定日期和月份的行

我在laravel中有以下查询:$eventos=EventsData::join('tbl_users','tbl_users.id_user','=','tbl_events.id_user')->where('tbl_users.birth_date','>=',date("m-d"))//myerror->where('tbl_events.year','>=',date("Y"))->get();我有一个用户表(tbl_users),其中包含每个用户的生日日期。还有一个事件表(tbl_events),它记录了每个用户的周年纪念日。因此创建一个表,将获得下一个生日。我的birt

mysql - Laravel 在 whereHas 中使用 select

您好,我遇到了一些麻烦,不知道如何在wherehas查询中使用select还是我做错了?查询有效,但没有选择。$query=$query->whereHas('orderProducts',function($q){$q->select(DB::raw('SUM(order_product.total)ASspent_total'));$q->select(DB::raw('COUNT(order_product.box_id)asbox_count'));});谢谢。 最佳答案 尝试使用$q->addSelect()而不是$q->

php - 与 Laravel 在处理数百万条记录时使用 block 的普通查询构建器相比,Laravel Eloquents 和使用 block 是否更慢?

我在开发web应用程序方面真的很新,所以使用laravel并学习它们,所以我原谅我提出的非常简单的问题......但是如果有人回答我这些问题并帮助我了解这些东西,那将非常有帮助...让我首先从描述我的表结构开始:我正在使用,MySql的InnoDB...这张表目前存储了大约13k条记录,并且将来会存储数百万甚至数十亿条记录...现在将我的问题描述如下:当我从这个表中获取所有记录时,即13k条记录,使用laravel的普通查询构建器使用block(以下代码描述了我获取记录的方式),我在1.39秒内得到结果,这很好但实际上它应该更多高效(这些结果可能是因为我的系统内存有限,我没有在高端系统

php - 性能明智 : which is better in Laravel Database

我已经使用laravel一段时间了,我只是想知道哪种性能更好。采用这种情况,我有两个表,一个部门表和一个具有以下结构的单位表部门表FieldTypeNullKey---------------------------------------idint(10)unsignedNOPRIMARYnamevarchar(255)NO单元表FieldTypeNullKey-----------------------------------------idint(10)unsigned(NULL)PRIMARYunitvarchar(255)(NULL)department_idint(10)

php - 使用选择选项 Laravel 5.2 在插入新记录时将数据添加到数据透视表

问题来了:我创建了一个CRUD系统,这样管理员就可以创建/读取/更新/删除用户。问题是我无法在我的CRUD系统中为用户选择角色。非常感谢任何帮助!我将指出我正在使用的3个迁移:用户、角色和它们的数据透视表user_role。Schema::create('users',function(Blueprint$table){$table->increments('id');$table->timestamps();$table->string('email')->unique();$table->string('username')->unique();$table->string('pa