草庐IT

eloquent

全部标签

php - Laravel:添加到列中的现有字段数据

请问我如何用Eloquent方式表达这个phpmysql更新代码mysql_query("UPDATE`some_table`SET`value`=`value`+1000WHERE`id`=1");或mysql_query("UPDATE`some_table`SET`value`=`value`+$formdataWHERE`id`=1"); 最佳答案 理想的方法是使用内置的Laravel函数increment$model=Some_Model::find($id);$model->increment('value',1000)

php - laravel 中的 JSON 搜索 Eloquent

我将destinations字段存储为json类型mysql示例列值["Goa","Moonar","Kochi"]我想获取所有匹配goa的行作为目的地但是此行查询返回所需的结果SELECT*FROM`packages`WHEREJSON_CONTAINS(destinations,'["Goa"]');但是上述查询的Eloquent等效项是什么?Laravel版本5.3模型名称:搜索 最佳答案 可能被迫使用部分原始查询,例如:使用DB;(文件定义顶部)DB::table('packages')->whereRaw('json_co

php - 拉维尔 4 : Where Not Exists

我需要我的模型仅从一个表中返回那些匹配记录在另一个表中不存在的记录。我在想解决方案可能是QueryScopes但文档只涉及表面。所以我的SQL看起来像这样:SELECT*FROMAWHERENOTEXISTS(SELECTA_idFROMBWHEREB.A_id=A.id)这是我的表格:A-------------|id|name|-------------B--------------------|id|A_id|name|--------------------可能没有必要,但这是我的模型。A的模型:classAextendsEloquent{publicfunctionB(){r

php - 如何使用 Laravel 的 block 来避免内存不足?

我从临时表中提取大约10万条记录,对数据进行一些轻微修改,下载照片,然后将我需要保留的字段放入“主”表中。这很快导致我的应用程序在内存不足时崩溃。我阅读了有关将chunk()与LaravelEloquentORM一起使用的非常简短的文档,但不知道如何在我的类里面开始实现它。这是我目前正在做的事情:publicfunctionfire(){//TurnoffqueryloggingDB::connection()->disableQueryLog();$feeds=RetsFeed::where('active','=',1)->get();foreach($feedsas$feed){

php - Laravel hasMany 和 belongsTo 参数

我有一个表存储,存储有很多库,在库中我有存储的外键store_id。存储表id(PK)库表id(PK)store_id(FK)我对hasMany和belongsTo参数感到困惑,在docs中它说return$this->hasMany('App\Comment','foreign_key');return$this->hasMany('App\Comment','foreign_key','local_key');return$this->belongsTo('App\Post','foreign_key','other_key');hasManyforeign_key和local_k

mysql - Laravel Eloquent 在子查询中有两个 “WHERE NOT IN”

我有这个查询,我在laraveleloquentORM中编写查询时遇到问题。感谢有人能提供帮助。这是SQL表达式:SELECTDISTINCTcust,cust_noFROMdelivery_sapWHEREcustNOTIN(SELECTcust_nameFROMcustomer)ANDcust_noNOTIN(SELECTcust_codeFROMcustomer) 最佳答案 您可以使用如下所示的方式代替执行3个不同的查询,DB::table('delivery_sap')->whereNotIn('cust',function

php - 如何在 Laravel 的 Eloquent ORM 中按数据透视表数据排序

在我的数据库中,我有:top表格posts表tops_has_posts表。当我在我的tops表中检索到一个顶部时,我还检索了与顶部相关的posts。但是,如果我想按特定顺序检索这些帖子怎么办?所以我在我的数据透视表tops_has_posts中添加了一个range字段,我尝试使用Eloquent按结果排序,但它不起作用。我试试这个:$top->articles()->whereHas('articles',function($q){$q->orderBy('range','ASC');})->get()->toArray();还有这个:$top->articles()->orderB

php - 日期等于或大于 DateTime 的 Laravel Eloquent

我正在尝试从日期列早于或等于当前时间的模型中获取关系数据。日期列的格式如下:Y-m-dH:i:s我想要做的是获取Y-m-dH:i:s在未来的所有行。示例:假设日期为2017-06-01,时间为09:00:00然后我想得到日期在未来的所有行,时间在未来。目前我的代码看起来像这样,它几乎可以正常工作,但它不会获取日期为当天的行。publicfunctioncustomerCardFollowups(){return$this->hasMany('App\CustomerCardFollowup','user_id')->whereDate('date','>',Carbon::now('E

mysql 加入 ON 和 AND 到 laravel Eloquent

我已经能够使用以下原始sql获得我需要的查询结果:select`person`.`id`,`full_name`,count(actions.user_id)astotalfrom`persons`leftjoin`actions`on`actions`.`person_id`=`persons`.`id`and`actions`.`user_id`=$userwhere`type`='mp'groupby`persons`.`id`但我还不能让它在Eloquent中工作。基于一些类似的答案,我尝试了->where()或leftJoin()中的函数,但是count$user尚未过滤每个

mysql - Laravel Fluent 在不同的地方添加 select()s?

//Earlierinthecode,ineachModel:query=ModelName::select('table_name.*')//LaterinthecodeinafunctioninaTraitclassthatisalwayscalledif($column=='group_by'){$thing_query->groupBy($value);$thing_query->select(DB::raw('COUNT('.$value.')ascount'));}有没有办法在Eloquent查询构建器中附加或包含单独的选择函数?实际的->select()设置较早,然后调用