在我的Statamicassets资源 蓝图中,我有一个users字段,我想仅限于摄影师.我所有的摄影师用户都被放在用户组photographers中,根据Statamic文档,我可以使用query scope过滤这些用户.

enter image description here

例如,这是一位摄影师:

name: 'Dave Johnson'
groups:
  - photographers
id: 1231u239021313-3218931230123-321893

这是一个假设的查询范围:

<?php

namespace App\Scopes;

use Statamic\Query\Scopes\Scope;

class PhotographerScope extends Scope
{
    /**
     * Apply the scope.
     *
     * @param  \Statamic\Query\Builder  $query
     * @param  array  $values
     * @return void
     */
    public function apply($query, $values)
    {
        // $query->whereJsonContains('groups', 'photographers');
        // some sort of query here to only select photographers?
    }
}

如何完成此查询以仅 Select groups数组中具有photographer值的用户?

推荐答案

显然,可以这样判断子字段:

<?php

namespace App\Scopes;

use Statamic\Query\Scopes\Scope;

class PhotographerScope extends Scope
{
    /**
     * Apply the scope.
     *
     * @param  \Statamic\Query\Builder  $query
     * @param  array  $values
     * @return void
     */
    public function apply($query, $values)
    {

        $query->where('groups->photographers', true);
    }
}

对我来说是新闻.希望这对某人有帮助.

Php相关问答推荐

调用woocommerce_customer_Save_add动作挂钩时发生致命错误

如何使用查询范围在Statamic中按组过滤用户?

如果活动订阅者的购物车中有订阅项目,则在WooCommerce签出中显示通知

一列必须指定多个变量的Laravel查询

Msgraph-sdk-php v2如何从返回对象中获取数据?

使用WordPress wp_mail()的邮箱标题无效

PHP测试字符串的所有POST值

在WooCommerce中的本地收件发货方式下添加一个 Select 字段

将SVG包含在另一个php生成的SVG中

将WooCommerce WC_Order对象与wp_Schedule_Event一起使用

根据WooCommerce Cart小计阈值自动应用优惠券

是否使用联系人表单7 wpcf7_Feedback_Response输出答复中的html?

未定义的类型';PDF';在Laravel 8

如何用十进制和字母数字减go 和添加 id

根据页面以及是否在促销,向 WooCommerce 中显示的价格添加前缀

在 Heroku 上部署 Sylius - 路由不正确

WordPress 分页无法正常工作

Laravel Eloquent(where 子句)

使用 GROUP_CONCAT 规范化/转置来自查询的数据

使用 PHP ImageMagick 库将 pdf 文件的前 n 页转换为单个 png 图像文件