草庐IT

eloquent

全部标签

php - Eloquent 多个 whereHas ('pivot_table_X' ) AND whereHas ('pivot_table_X' )

我正在使用Eloquent构建应用程序并遇到了麻烦,我正在使用多对多Pivot关系。引用:https://laravel.com/docs/5.0/eloquent#many-to-many用户模型编号用户名榜样编号角色名称用户角色模型(数据透视表)编号用户编号角色编号如果我想获得角色ID1的所有用户,我将简单地:$users=$app->users->with('roles')->has('roles')->whereHas('roles'function($query){$query->where('role_id',1);})->get();有了这个,我就可以成功获取所有Role

php - Laravel Eloquent 查询意外结果

我发现一些查询结果真的出乎意料。这是Laravel5.2我们有以下实体:用户方法:publicfunctionroles():BelongsToMany{return$this->belongsToMany(Role::class)->withPivot('timestamp');}每个User可以有很多角色,所以我们也有Role实体(但在我的问题中并不重要)和pivot带有timestamp字段(当然还有id)的表user_role,因为我们保存了关于时间的信息,当User达到特定角色时。我想获得所有Users及其最后分配的Role当我创建查询时(在某些存储库的User上下文中):$

php - 委托(delegate) Laravel - 具有条件角色的 Eloquent 查询

我的Laravel应用程序中有单用户Eloquent模型:我将为角色使用Entrust。用户可以有多个角色。我已经设法让用户拥有多个角色,并且具有相同的Eloquent模型用户,如下所示:publicfunctioncompany(){if($this->hasRole('admin')){return$this->hasOne('App\Company');}elseif($this->hasRole('member')){return$this->belongsTo('App\Company');}}假设在Company模型中如何在其他模型中处理此问题:publicfunction

php - 如何在 Laravel Eloquent orm 或 DB facades 中进行分布式事务?

我在Laravel中找不到像XA这样的API,并且在Eloquent或DBfacades中似乎没有实现。如果我想在Laravel中使用XA或者其他方式做一个MySQL分布式事务,应该怎么办? 最佳答案 如果您不需要使用分布式事务,请不要使用它。试着考虑一下你的数据库结构设计是否正确?如果你还需要它。我觉得你需要自己写;第1步:对于第一个数据库,您需要为其XA事务生成一个唯一ID。并尝试执行sql,如果成功则运行XAPREPAREyour_xa_id;第二步:对于另一个数据库,需要做与第一步相同的事情;第三步:检查第一步和第二步是否成

php - 找不到列 : 1054 Unknown column 'users.blog_id' :SQL: select * from `users` where `users` .`blog_id` = 1 and `users` .`blog_id` is not null

blogsIndex.blade.php@extends('layouts.default')@section('details')×Hello{{auth()->user()->name}}!!!YoucannotfindblogsfromanotherDepartments.@endsection@section('gotoLogins')@if(count($blogs)>0)@foreach($blogsas$blog)id}}">{{$blog->title}}Writtenon{{$blog->created_at}}by:{{$blog->user->name

php - 一个函数中的两个插入

我用两个插入语句构建了一个函数。第一个仅将两个名称字段插入表中,第二个从第一个字段中读取一个id字段,该字段是通过插入语句在数据库中自动递增创建的。这样做是否正确?publicfunctionsubmit(Request$request){$this->validate($request,['groupname'=>'required|unique:groups,group_name']);$groups_create=newGroup();$groups_create->group_name=$request->input('groupname');$groups_create->g

php - "cache" Eloquent 查询的最佳方式

我有一个应用程序在循环中运行类似SomeModel::getValue($month,$year,$departmentId)的函数。getValue创建一个查询并返回结果:returnself::where('department_id','=',$department_id)->where('year','=',$year)->where('month','=',$month)->pluck('value');在此循环中,它可能会多次调用相同的参数。我想知道避免每次获取数据时都创建新查询的最佳方法。我考虑过在模型中创建一个静态数组,并在每次调用getValue时与它匹配。如果数组中

php - 如何从 JSON 在 Eloquent ORM 中保存具有相关记录的模型

目标Eloquent模型Alum与School具有多对多关系。一个校友可以去了很多学校,一个学校可以有很多校友。使用Eloquent,我可以像这样检索和输出她的学校的校友:$alums=Alum::with('schools')->get();echo$alums->toJson();AngularJS然后在表格中显示明矾。每行都有一个编辑按钮,显示一个对话框,其中包含校友可能就读的所有学校的复选框。选中复选框会将学校添加到校友的schools数组中,取消选中复选框会将其删除。到目前为止一切顺利。问题将数据POST或PUT返回服务器是出错的地方。发送到服务器的JSON如下所示:{"id

php - Laravel 中的原始相关性查询。如何处理?

我目前正在将一个大项目转移到Laravel框架http://hobbyathletes.com/events/south-america/all-event-types/all/.我需要迁移我的内部搜索引擎,它使用以下查询(如果搜索一个词,这里额外预选选项SouthAmerica):SELECT*,((CASEWHENnameLIKE'%searchthis%'THEN1000ELSE0END)+(CASEWHENnameLIKE'searchthis%'THEN10ELSE0END)+(CASEWHENnameLIKE'searchthis%'THEN1ELSE0END)+(CASE

mysql - Laravel Eloquent 替换

我正在使用Laravel4命令创建数据库迁移脚本。所有数据库迁移过程都很好,但我在更改用户前缀时遇到了问题:我需要将USER-JOHN-JB更改为USER-JOHN-OD,所有用户后缀都需要从'-JB'更改为'-OD'。我当前的代码行是:DB::table('users')->update(['username'=>DB::raw("REPLACE(username,'-".$suffix."','-".$thisSuffix."')")]);如果我在REPL中运行这段代码,它可以正常工作,但它在命令中不起作用。查看生成的SQL查询的日志:update`users`set`userna