草庐IT

eloquent

全部标签

php - 如何在 Laravel Eloquent ORM 中选择以数字开头的单词?

我有这个MYSQL查询。我想选择所有以数字开头的单词。这是工作中的纯MYSQL查询。SELECT'seriesid','seriesname','imagepath','views','scenes'FROM`series`WHERE`seriesname`regexp'^[0-9]+'现在我想使用Laravel来实现它。我做了一些代码。但没有工作。这是我用于上述查询的Laravel代码。DB::table('series')->select('seriesid','seriesname','imagepath','views','scenes')->where('seriesname

php - Laravel 5 Eloquent : How to get raw sql that is being executed?(绑定(bind)数据)

我试图弄清楚如何获取正在执行的原始sql查询,包括其中的绑定(bind)数据。这是我得到的:\DB::connection()->enableQueryLog();$query=\DB::getQueryLog();$lastQuery=end($query);结果如下:array(3){["query"]=>string(57)"select*from`table_1`where`field_1`=?limit1"["bindings"]=>array(1){[0]=>string(34)"xyz"}}那么我如何获取像这样的完整sql查询的转储(老式的好方法)?select*from

php - Laravel Eloquent 查询关系

我为我正在从事的项目创建了一个消息系统,但似乎遇到了一些绊脚石。我有以下表格结构(为清楚起见,省略了不相关的列)messages-------------------------from_idto_idspamusers-------------------------idgroup_idgroups-------------------------idaccess_level访问级别使用按位权限001read010write100delete所以要读取和写入,访问级别将为“3”用户可以被站点管理员撤销权限,所以我想做的是选择已发送给发件人仍然具有写入权限的用户的消息。我的模型是这样设

php - Laravel Eloquent HasOne::$id 未定义属性

我有一个Users表、一个Images表和一个Bookmarks表。我已经在我的数据库中指定了每个图像的关系,并且我能够访问用户上传的所有图像。但是我无法访问他们已添加书签的图片。这是我的数据库关系的样子:我可以使用PHPMyAdmin上的SQL输入访问我想要的数据,但是在使用Laravel时我不能:使用Laravel会产生此错误:这是我的用户模型:getKey();}publicfunctiongetAuthPassword(){return$this->password;}publicfunctiongetRememberToken(){return$this->remember_

php - Eloquent 模型中 id 周围的引号在生产站点上是必需的,但在本地主机上不起作用

所以我有一个查询,在我的生产安装中需要在“where”方法中用引号括起“id”,否则不返回任何结果。在我的本地安装中,情况正好相反。如果我使用引号,它就不起作用。制作'invoices'=>Auth::user()->invoices->where('paid',"0")本地主机'invoices'=>Auth::user()->invoices->where('paid',0)这真的很奇怪,我真的不想每次从github部署时都去修改它。这是一个普遍的问题吗?我似乎找不到任何相关信息。我将列出一些Laravel查询日志:在int周围使用引号进行本地安装(不起作用)Array([0]=>

php - 使用 Eloquent orm 和 mysql 的连接太多

我将SLIMFramework与Laravel的EloquentORM一起用于RESTAPI。最近我遇到了太多连接的问题。在一个请求URI期间,我需要对mySqlDB进行多次Get和Set调用。这会打开我进行的每个数据库事务的连接。我想避免这种情况。目前mysql连接池有200个线程。我的API预计有超过1000个并发调用,在当前环境下,40%的调用将失败(使用jMeter测试)。我的想法是,对于一个API调用,我的应用程序应该只使用一个连接线程并将MySql连接池增加到大约1000到1500的某个位置。这是一个糟糕的方法吗?使用EloquentORM,我的数据库连接由Capsule管

mysql - 在 Laravel Eloquent 中加入和求和

数据库结构如下:Table:usersid|name|email|passwordTable:analyticsid|user_id(fk)|article_id(fk)|revenue|date|clicks现在我想要所有用户的列表以及他们自己从这两个表中获得的收入。我试过的是这样的:$users=User::select('users*','analytics.*','SUM(analytics.revenue)')->leftJoin('analytics','analytics.user_id','=','users.id)->where('analytics.date',Ca

php - 如何在 Laravel Eloquent 中选择某些字段?

如何在LaravelEloquent中进行以下查询?SELECTcatID,catName,imgPathFROMcategoriesWHEREcatType="Root"我试过跟随CategoryModel::where('catType','=','Root')->lists('catName','catID','imgPath');但它只返回两个字段。Array([7]=>Category1) 最佳答案 lists()将生成的集合转换为具有键值的数组。那里只能有两个数据库列。否则你必须使用select()但是你会得到一个模型集

mysql - Eloquent 使用远程 MySQL DB 花费的时间太长

我正在开发一个Web(Laravel)和iOS应用程序,它们都使用我也在使用Laravel开发的RESTAPI。来自托管在AWSRDS实例上的MySQL数据库的API查询。当我在本地主机上同时设置API和应用程序,并将API配置为连接我的本地数据库(与应用程序和API在同一台机器上)时,它按预期工作正常,但问题出在我设置API时从AWSRDS数据库而不是本地查询。用Eloquent方式进行简单的查询,比如Product::where('brand_id','=',$id)->get()大约需要10-15分钟才能完成,但是如果我使用查询生成器执行相同的查询,例如;DB::select('

php - 如何更新由 Laravel Eloquent 管理的时间戳(created_at 和 updated_at)的时区?

我有一个GMT时间的服务器,但我想更新这些字段(*created_at*和*updated_at*)以保存PST时间戳。我已经做了一些测试来尝试实现这一点,但没有一个是正确的。我将config/application.php更新为'timezone'=>'America/Los_Angeles'同样在服务器中,我将php.ini中的date.timezone更改为'America/Los_Angeles'但是任何这些更新都会将时区更新应用于LaravelEloquent时间戳。这个字段created_at和updated_at由Eloquent处理。我还使用sudodpkg-recon