10月cms(laravel)何处查询
我对筛选查询有一些问题。我需要做一些像这样的事情10月cms(laravel)何处查询,laravel,octobercms,Laravel,Octobercms,我对筛选查询有一些问题。我需要做一些像这样的事情 从艺术家的绘画中选择绘画,其中类型=$\u GET['type']和材质=$\u GET['material']和艺术家的slug=$\u GET['artist\u slug']按绘画描述排序 我有一位画师兼艺术家“艺术家”在“艺术家”表中 我知道 但我不知道下一步该怎么办。 如何在php代码中进行查询?我将从艺术家的角度解决这个问题: $artist = Artists::where('artist_slug', $this->para
从艺术家的绘画中选择绘画,其中类型=$\u GET['type']和材质=$\u GET['material']和艺术家的slug=$\u GET['artist\u slug']按绘画描述排序
我有一位画师兼艺术家“艺术家”在“艺术家”表中
我知道
但我不知道下一步该怎么办。
如何在php代码中进行查询?我将从艺术家的角度解决这个问题:
$artist = Artists::where('artist_slug', $this->param('slug'))->with('paintings')->first();
通过使用$artist->paints
可以访问艺术家的所有绘画作品,这将是一个收藏
短而脏:
Painting::where('type',input("type"))
->where('material',input("material"))
->whereHas('artist', function($q)
{
$q->where('artist_slug', '=', $this->param('slug'));
})->get();
解释如下:
初始化查询时,将返回查询生成器实例。基本上,查询生成器上的所有方法都返回相同的实例,因此您可以将它们菊花链连接到一个查询中。但您也可以只使用查询生成器
$query = Painting::where('type',input("type"));
或:
然后,您可以只处理查询生成器实例,将其传递给可能需要执行操作的其他方法
function getPaintings($type, $material, $slug)
{
$query = Painting::where('type',$type);
$query->where('material', $material);
$this->findArtistBySlug($query, $slug);
return $query->get()
}
function findArtistBySlug($query, $slug)
{
$query->whereHas('artist', function($q) use ($slug)
{
$q->where('artist_slug', '=', $slug);
});
$query->with(['artist']);
}
你可能想读书
和您是否定义了模型之间的关系?
$query = $model->newQuery()// Where model is an intance of painting, for example new Painting();
function getPaintings($type, $material, $slug)
{
$query = Painting::where('type',$type);
$query->where('material', $material);
$this->findArtistBySlug($query, $slug);
return $query->get()
}
function findArtistBySlug($query, $slug)
{
$query->whereHas('artist', function($q) use ($slug)
{
$q->where('artist_slug', '=', $slug);
});
$query->with(['artist']);
}