草庐IT

eloquent

全部标签

php - 在 laravel Eloquent 中获取除当前登录用户之外的所有用户

我在做:User::all();从用户表中获取所有用户。我想选择除当前登录用户之外的所有用户。我该怎么做?类似的东西,User::where('id','!=',$currentUser->id)->get();提前致谢! 最佳答案 使用except()会更流畅地完成同样的事情:$users=User::all()->except(Auth::id());...或者,因为您已经有了用户ID:$users=User::all()->except($currentUser->id); 关于p

php - Laravel Eloquent Join vs Inner Join?

所以我在弄清楚如何执行提要样式的mysql调用时遇到了一些麻烦,我不知道它是一个Eloquent问题还是一个mysql问题。我相信这两者都是可能的,我只是需要一些帮助。所以我有一个用户,他们转到他们的提要页面,在这个页面上它显示了他们friend的东西(friend投票、friend评论、friend状态更新)。假设我有tom、tim和taylor作为我的friend,我需要获得他们所有的投票、评论和状态更新。我该怎么做?我有一个按ID编号列出的所有friend的列表,并且我有每个事件(投票、评论、状态更新)的表,这些表中存储了ID以链接回用户。那么我如何才能一次获得所有这些信息,以便

php - 获取 Eloquent 模型实例的主键

我很高兴能够在我们的MySQL数据库中使用(不)非常一致的列名来处理一个项目。我们有camelCase、PascalCase、'Id'、ID,这让我抓狂。我决定开始在我们的应用程序(不是Laravel)中使用Eloquent。我希望有一种方法可以在不知道列名的情况下轻松接收主键的值,例如//User'sprimarykeycolumniscalledUserID$user=User::find(1337);$userId=$user->id();//=1337是否有Eloquent方法可以做到这一点,还是我必须自己添加此方法? 最佳答案

mysql - 如何使用 Laravel 的 Eloquent 实现单表继承?

目前我有一个名为Post的模型类。classPostextendsEloquent{protected$table='posts';protected$fillable=array('user_id','title','description','views');/**Relationships*/publicfunctionuser(){return$this->belongsTo('User');}publicfunctiontags(){return$this->belongsToMany('Tag','post_tags');}publicfunctionreactions()

php - 使用 Laravel 和 Eloquent 从表中全选

我正在使用Laravel4来设置我的第一个型号,以从名为posts的表中拉出所有行。在标准mysql中,我将使用:SELECT*FROMposts;如何在Laravel4模型中实现这一目标?有关我完整的模型源代码:,请参见下文 最佳答案 你只需调用Blog::all();//exampleusage.$posts=Blog::all();$posts->each(function($post)//foreach($postsas$post){}{//dosomething}从您应用程序的任何位置。阅读documentation会有很

php - 在 Laravel 中迁移外键与 Eloquent 关系

在Laravel5.1中,我可以看到表列关系可以通过两种方式设置:1)在迁移表中定义外键。2)在模型中定义Eloquent关系。我已阅读文档,但我仍然对以下内容感到困惑:我需要两个都用还是只需要一个?两者同时使用有错吗?还是成功了冗余或引起冲突?使用Eloquent关系而不提及迁移列中的外键?有什么区别?这些是我现在拥有的代码。我仍然不清楚是否需要删除我在迁移文件中设置的外键。迁移:publicfunctionup(){Schema::create('apps',function(Blueprint$table){$table->increments('id');$table->str

php - Laravel Eloquent 获取按天分组的结果

我目前有一个page_views表,每次访问者访问一个页面时记录一行,记录用户的ip/id和页面本身的id。我应该补充一点,created_at列的类型是:timestamp,因此它包括小时/分钟/秒。当我尝试groupBy查询时,由于秒数差异,它不会将同一天组合在一起。created_atpage_iduser_id========================10-11-20133110-1220135510-1320135210-13201334.........我想根据每天的观看次数获得结果,所以我可以得到类似的结果:dateviews=========10-11-20131

mysql - 有没有办法使用 Laravel 的 ELOQUENT ORM 将结果设为 "limit"?

有没有办法用Laravel的ELOQUENTORM来“限制”结果?SELECT*FROM`games`LIMIT30,30Eloquent呢? 最佳答案 创建一个扩展Eloquent的游戏模型并使用它:Game::take(30)->skip(30)->get();take()这里会得到30条记录,skip()这里会偏移到30条记录。在最近的Laravel版本中,您还可以使用:Game::limit(30)->offset(30)->get(); 关于mysql-有没有办法使用Larav

php - 为什么在 Eloquent 模型中调用方法时得到 'Non-static method should not be called statically'?

我试图在我的Controller中加载我的模型并尝试了这个:returnPost::getAll();得到错误不应静态调用非静态方法Post::getAll(),假设$this来自不兼容的上下文模型中的函数如下所示:publicfunctiongetAll(){return$posts=$this->all()->take(2)->get();}在Controller中加载模型然后返回其内容的正确方法是什么? 最佳答案 您将您的方法定义为非静态的,并尝试将其作为静态调用。那就是……1.如果你想调用静态方法,你应该使用::并将你的方法

php - Laravel 5.2 - 使用字符串作为 Eloquent 表的自定义主键变为 0

我正在尝试使用电子邮件作为我表的主键,所以我Eloquent代码是-我的数据库是这样的-但如果我这样做-UserVerification::where('verification_token',$token)->first();我收到了-{"email":"sdfsdf@sdfsdf.sdf","verification_token":0,"created_at":"2016-01-0322:27:44","updated_at":"2016-01-0322:27:44"}所以,验证token/主键变为0。有人可以帮忙吗? 最佳答案