草庐IT

eloquent

全部标签

php - Laravel Eloquent ORM 事务

EloquentORM非常好,但我想知道是否有一种简单的方法可以使用innoDB以与PDO相同的方式设置MySQL事务,或者我是否必须扩展ORM才能实现这一点? 最佳答案 你可以这样做:DB::transaction(function(){//});闭包中的所有内容都在事务中执行。如果发生异常会自动回滚。 关于php-LaravelEloquentORM事务,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

php - 如何使 Laravel Eloquent "IN"查询?

我想在LaravelEloquent中进行查询,就像这里的原始MySQL查询一样SELECT*fromexampleTblwhereidin(1,2,3,4)我已经在LaravelEloquent中尝试过,但它不起作用DB::where("idIN(23,25)")->get() 最佳答案 这是您在Eloquent中的操作方式$users=User::whereIn('id',array(1,2,3))->get();如果您使用的是查询生成器,那么:$users=DB::table('users')->whereIn('id',ar

php - 如何使用 eloquent/fluent 从单个查询中插入多行

我有以下疑问:$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_id1|8|92|8|2我遇到的问题是$query可以预期任意数量的行,因此我不确定如何遍历未知数量的行。 最佳答案 使用

php - 在 Laravel Eloquent 中使用 “With()” 函数获取特定列

我有两个表,User和Post。一个User可以有很多posts,一个post只属于一个user。在我的User模型中,我有一个hasMany关系...publicfunctionpost(){return$this->hasmany('post');}在我的post模型中,我有一个belongsTo关系...publicfunctionuser(){return$this->belongsTo('user');}现在我想使用Eloquentwith()连接这两个表,但需要第二个表中的特定列。我知道我可以使用查询生成器,但我不想。当我在Post模型中写...publicfunction

php - 禁用 Laravel 的 Eloquent 时间戳

我正在将我们的一个Web应用程序从CodeIgniter转换为Laravel。但是此时我们不想将updated_at/created_at字段添加到我们所有的表中,因为我们有一个日志记录类可以为我们更深入地完成所有这些工作已经。我知道我可以将$timestamps=false;设置为:Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php但是,我宁愿不更改Laravel的核心文件,或者让我的每个模型都将其放在顶部。有没有办法在其他地方为所有模型禁用此功能? 最佳答案

php - Laravel 4 : how to "order by" using Eloquent ORM

这个问题在这里已经有了答案:LaravelEloquent:Orderingresultsofall()(12个回答)关闭7年前。简单的问题-我如何在Laravel4中按'id'降序排序。我的Controller的相关部分如下所示:$posts=$this->post->all()据我了解,您使用此行:->orderBy('id','DESC');但这与我上面的代码有什么关系呢? 最佳答案 如果你使用post作为模型(没有依赖注入(inject)),你也可以这样做:$posts=Post::orderBy('id','DESC')-

php - 在加载时向 Laravel/Eloquent 模型添加自定义属性?

我希望能够在加载Laravel/Eloquent模型时为其添加自定义属性/属性,类似于使用RedBean's实现的方式。$model->open()方法。例如,目前,在我的Controller中,我有:publicfunctionindex(){$sessions=EventSession::all();foreach($sessionsas$i=>$session){$sessions[$i]->available=$session->getAvailability();}return$sessions;}如果能够省略循环并且已经设置并填充了“可用”属性,那就太好了。我尝试使用文档中

php - Laravel - Eloquent 或 Fluent 随机行

如何在Laravel框架中使用Eloquent或Fluent选择随机行?我知道通过使用SQL,您可以通过RAND()进行排序。但是,我希望得到随机行而不在初始查询之前对记录数进行计数。有什么想法吗? 最佳答案 Laravel>=5.2:User::inRandomOrder()->get();或者获取具体的记录数//5indicatesthenumberofrecordsUser::inRandomOrder()->limit(5)->get();//getonerandomrecordUser::inRandomOrder()->

php - Laravel Eloquent Query 使用 WHERE 和 OR AND OR?

怎么说WHERE(a=1ORb=1)AND(c=1ORd=1)对于更复杂的查询,我应该使用原始SQL吗? 最佳答案 利用LogicalGrouping(Laravel7.x/4.2)。对于您的示例,它将是这样的:Model::where(function($query){$query->where('a','=',1)->orWhere('b','=',1);})->where(function($query){$query->where('c','=',1)->orWhere('d','=',1);});

php - 使用 Laravel Eloquent 获取最后插入的 ID

我目前正在使用以下代码在表格中插入数据:nombre=$post['name'];$data->direccion=$post['address'];$data->telefono=$post['phone'];$data->email=$post['email'];$data->giro=$post['type'];$data->fecha_registro=date("Y-m-dH:i:s");$data->fecha_modificacion=date("Y-m-dH:i:s");if($data->save()){returnResponse::json(array('succ