草庐IT

eloquent

全部标签

mysql - 如何在 Laravel 中添加金额约束的总和?

我有一个具有以下关系的数据库:有项目-人们可以购买的东西,还有user_id,有支持者-购买的人,有订单-每个订单都是Backer对Project的购买(Backer只能购买每个Project一次)。这是一个金额-显示支持者为购买项目支付了多少我需要编写以下查询-给定$user_id、$count和$sum找到所有已投资的支持者至少在$count个项目中,user_id等于$user_id并且这些项目的购买总和高于$总和。Backer::whereHas('projects',function($q)use($sum,$userId){$q->where('user_id',$user

php - 使用未知数量的参数创建 Laravel Eloquent Query

我正在尝试研究如何使用用户输入动态创建Eloquent查询,该查询会根据输入的长度更改查询。直接使用MySQL这很简单……只需根据用户输入连接一个查询字符串。使用Eloquent是不可能的,除非您a)使用“原始”sql查询,这违背了使用Eloquent的目的,或者b)使用一些非常不健康的东西,比如eval()函数。如何遍历未知长度的用户输入并创建一个Eloquent查询来使用“OR”和“AND”的组合在多个字段中搜索单词考虑以下实际上无法工作的伪代码。$search="catsatonthemat";$searchWords=explode('',$search);$data['fin

mysql - Eloquent:如何连接一个直接相关的表和一个间接相关的表?

为了演示我的问题,我创建了一个包含以下4个表(定义为Eloquent模型)的虚拟数据库:User、Product、ShoppingItem(简称:项目),订单;与他们所有的相关关系。(此处包含用户只是为了完整性)产品:编号姓名有许多(项目)订单:编号用户编号日期有许多(项目)项目:编号产品编号订单编号属于(产品)属于(订单)因此,每当客户购买某些产品时,就会创建(Shopping)Items记录。Order(购物卡丁车)也被创建并且包含1个或多个Items属于一个客户(User)和他当前的购物过程。现在这个问题是关于产品列表和分析它们“成功”的方法。它们多久售一次,最后一次售出是什么时

php - 根据 Eloquent 另一个​​表中的列选择十大类别

我有三个表:uploads、categories和一个名为category_upload的多对多表。表格看起来像这样:**categories**idname**uploads**idnamedownloads(integer)**category_upload**idcategory_idupload_id每次我下载“上传”时,下载列中的值都会增加1。我想做的,但不知道如何开始是根据uploads表中的downloads列选择前10个类别。因此,如果downloads列的总数是给定类别的所有上传中最大的,则该类别应该排名第一,依此类推直到第十。这可以通过Eloquent或仅使用SQL

mysql - 让 Laravel 在插入/更新时使用 MySQL 默认值

我注意到,在Laravel中,(当使用$model->fill(Input::all())时,数据的输入方式并不重要),空字段(在表单中为空)作为空字符串('')出现。这是有道理的,因为这就是它从浏览器传送到HTTP服务器再到PHP的方式。问题是,如果该列是数字并且有一个DEFAULT值,或者是NULLable,Eloquent生成的查询有''用于列的值,因此MySQL将其解释为0而不是默认列值或NULL。是我在这里做错了什么,还是我需要做额外的工作(例如,一个增变器)来检测这个空字符串并转换为null以实现我真正想要的?当然我明白,从技术的角度来看,Laravel在不知道你的列是如何

php - Laravel Eloquent 如何加入查询而不是表?

我想在Laravel中实现这个:SELECT*FROMproductsJOIN(SELECTproduct_id,MIN(price)ASlowestFROMpricesGROUPBYproduct_id)ASq1ONproducts.id=q1.product_idORDERBYq1.lowest;我写了这个,但显然有问题:$products=newProduct();$products=$products->join(Price::whereNotNull('price')->select('product_id',DB::raw('min(price)aslowest'))->g

php - Laravel-5 每个日志表的独立模型

我目前正在使用Laravel5开发应用程序,我的主要表格是users、suppliers、manufacturers等等这些表中的每一个都有一个单独的users_log、suppliers_log日志表。这些日志表的目的是审查为单个实体执行的操作(例如:属于特定制造商的日志以及过去对该制造商所做的更改等)我计划使用Eloquent并且我已经为每个主要表生成了一个Eloquentmodel。我的问题:我应该为每个日志表生成单独的Eloquent模型,还是只在主表的模型来写我的日志。附注:使用我的应用程序的用户数量很少,因此将日志写入数据库优先于文件日志。 最佳

php - 如何从 Eloquent ,silex的中间表中获取数据

我创建了数据库表users、groups和group_user(MySQL)。还有group_user表(中间表)包含user_id和role_id。用户和组的关系是多对多的。我想删除groups表中的一个组。在删除组之前,我想检查是否有任何用户属于该组。我试过这样做。Group.php(模型)publicfunctionusers(){return$this->belongsToMany('\Modules\User\Models\User');}服务.phppublicfunctiondeleteGroup($data){if(!isset($data['groupID']))re

php - 在 Laravel 中计算坐标距离

我的模型中有一个范围,它创建了一个别名,我需要在其上执行一个where,我知道MySql不允许这样做。StandardSQLdoesn'tallowyoutorefertoacolumnaliasinaWHEREclause.ThisrestrictionisimposedbecausewhentheWHEREcodeisexecuted,thecolumnvaluemaynotyetbedetermined.但是,我想知道是否有可能的laravel解决方法?我的示波器创建了一个别名距离,我想检查该距离。publicstaticfunctionscopeDistance($query,

php - 插入表情符号时插入语句有效,但使用 Eloquent 时会抛出错误

运行查询,INSERTINTO表(ref_id、user_id、role_id、文本)VALUES(233,3,40,'Hdhdhdh????hzhzhzzhjzj我爱你❌')在SequelPro中工作得很好,但是当使用eloquent时,它会抛出一个错误,"SQLSTATE[HY000]:Generalerror:1366Incorrectstringvalue:'\xF0\x9F\x98\x9C\xF0\x9F...'forcolumn'text'atrow1(SQL:INSERTINTOtable(ref_id,user_id,role_id,text)VALUES(233,3,