草庐IT

eloquent

全部标签

php - 使用 Eloquent 集合将项目添加到选择框

我在使用Eloquent模型(Laravel4)中列出的数据的表单上有一个选择框:$campuses=Campus::lists('name','id');和形式:{{Form::select('campus_id',$campuses)}}但是,我希望表单上的第一个选项是Select...,这样当用户还没有选择一个选项时,第一个选项不会成为默认选项。如何在Eloquent集合的开头添加另一个选项?我试过类似的方法:$campuses=array('Select...').Campus::lists('name','id'); 最佳答案

php - Laravel 4 Eloquent Column 别名

我想要实现的是在我的数据库中,我有一个名为channel的表我正在使用laravel的Eloquent类来访问表中的这些属性我面临的问题是表名为column,列名为channel所以当访问该属性时看起来像这样。User::find(1)->channel->channel我怎么修改这个说User::find(1)->channel->name我们不能更改数据库中的表名。我想到的方案:1)为需要更改列的表创建View。太乱了……2)使用列别名....laravel文档...唉..不知道怎么办?3)使用带有调用this->channel的create_function的属性集但我很确定它不

php - 使用 Laravel/Eloquent 排序相关模型

是否可以对对象的相关模型使用orderBy?也就是说,假设我有一个带有hasMany("Comments");的BlogPost模型,我可以使用获取一个集合$posts=BlogPost::all();然后遍历每个帖子,并显示每个帖子的评论最后编辑日期foreach($postsas$post){foreach($post->commentsas$comment){echo$comment->edited_date,"\n";}}有没有办法设置评论返回的顺序? 最佳答案 正确的做法是:BlogPost::with(['comment

php - Laravel Eloquent,按月/年分组

我正在尝试按月和年对我的数据进行分组。$data->select(DB::raw('count(id)as`data`'),DB::raw('YEAR(created_at)year,MONTH(created_at)month'))->groupby('year','month')->get();输出是:{"data":19215,"year":2016,"month":10},如果我只按月分组,我不知道这个月属于哪一年,我的预期输出是:{"clicks":19215,"month":11-2016,},{"clicks":11215,"month":12-2016,},我想用sql

php - 使用 laravel Eloquent 关系检索除 NULL 之外的所有记录

有没有办法使用Eloquent模型检索所有不为空的记录。例如我有关系设置平板模型publicfunctionproject(){return$this->hasOne('App\Models\Project');}项目模型publicfunctionplate(){return$this->belongsTo('App\Models\Plate');}如何检索所有有值(value)的记录。试试这个return$p=\App\Models\Plate::with('project')->get();将返回所有内容,甚至那些具有NULL的内容。我想要的只是附有项目的plates。我尝试了l

php - 在限制关系存在的同时查询 Laravel 中的多对多关系

我在laravel中有以下模型:TheJobs-id-description-created_at-deleted_at-updated_atTheSeries-id-title-description-created_at-deleted_at-updated_atTheMovies-id-title-description-created_at-deleted_at-updated_atmSeriesJobs-seriesID-jobIDmMoviesJobs-movieID-jobIDTheJobs的关系如下:publicfunctionTheSeries(){return$th

php - Eloquent(无 Laravel)缓存实现

我在不使用Laravel的情况下使用Eloquent,我想知道是否有一种方法可以使用(并且不依赖于Laravel组件)来集成一个缓存方法,然后自动缓存所有模型查询(缓存后端可以是可变的,说APCu或内存缓存)。我在想应该可以编写一个模型基类来处理这个问题,但我不太确定我将如何实现它。有人在这方面有任何想法吗? 最佳答案 如果你想自动缓存你的查询,你必须覆盖find(),findOrFail(),where()...方法由于Eloquent的构建方式,您不能简单地在自定义模型类中添加方法find()https://laracasts.

php - ReflectionException - 类 DatabaseSeeder 不存在,Laravel Seeder

这个问题在这里已经有了答案:Laravel5-artisanseed[ReflectionException]ClassSongsTableSeederdoesnotexist(14个答案)关闭去年。我在不同的文件夹中有数据库播种器类。当我编写db:seed时,控制台显示此错误:[ReflectionException]ClassDatabaseSeederdoesnotexist,LaravelSeeder一类是这样的:namespaceDatabase\Seeds;useIlluminate\Support\Facades\DB;useIlluminate\Database\See

php - Laravel 5.2 - 更改从 Eloquent 获取的数据格式

我有一个这样的模型-$feature_project=FeatureProject::select('feature_id')->where('project_id',$project->id)->get();如果我返回它,我会得到这样的输出-[{"feature_id":2},{"feature_id":4},{"feature_id":9}]但是我想要这样的输出-[2,4,9]所以我需要转换输出。但我找不到不使用for-each循环的方法(制作一个临时数组,使用for-each循环将所有元素从当前数组推送到该数组)。但我认为在Laravel中有比这更聪明的方法来做到这一点。我认为L

php - 关系的 Eloquent 查询范围

我有两个模型,App\Song(belongsToApp\Host)和App\Host(hasManyApp\Song)。我的Controller中有以下查询:$songs=Song::whereHas('host',function($query){$query->where('skip_threshold','>',\DB::raw('songs.attempts'))->where('active',1);})->whereNull('downloaded')->get();为了可重用性,我想变成一个查询范围。我对Eloquent很陌生,所以我不确定这是不是正确的方法,因为它有两