Laravel有很多过滤器

时间:2015-08-23 13:33:25

标签: php laravel-5 eloquent

这更像是如何构建我的数据库的建议。基本上,我有一个模型App\Project,我有另一个模型App\Asset

App \ Project hasMany App \ Asset:

public function assets() {
   return $this->hasMany('App\Asset');
}

资产是不同的图片,assets表格有type列。

因此,在我实际显示项目的页面上,我想要做的是显示将original设置为类型的图像,作为开始/第一个图像,然后让其他人跟进。 (所有资产都是可选的。并非所有项目都有original图像。)

我怎样才能实现这一目标?我应该过滤一个数组并将original从数组中删除吗?

2 个答案:

答案 0 :(得分:1)

您可以使用Query Scopes解决问题。

获取类型为original的所有资产的示例:

资产模型:

use Illuminate\Database\Eloquent\Builder;
public function scopeOfOriginalType(Builder $query) {
    return $query->where('type', 'original');
}

<强>控制器:

$project = Project::find(1);
$assets = $project->assets()->ofOriginalType()->get();

答案 1 :(得分:0)

实现这一目标的一种不那么复杂的方法可能只是在关系上使用//First jQuery Library //Bootstrap Library <script> $( document ).ready(function() { $('#myModal').on('hidden.bs.modal', function () { $(this).removeData('bs.modal'); }); }); </script> 子句:

where