当前位置: 首页 > 知识库问答 >
问题:

你是如何与之连锁的?在哪里?

宗政安歌
2023-03-14

如何过滤该链(带和何处)函数的输出。底部输出为WWWithout chain with where chain。如果与where链接,则会导致返回错误。底部输出返回两个不同工作的人。我需要按艺术家筛选这份工作。每个模范人物、工作和媒体使用的关系都属于个人。所以有两个连接表。

[
    {
        "person_id": 1,
        "first_name": "suzuki",
        "last_name": "amanda"
    }
][]

media
people
media_people
jobs
person_jobs

控制器

    $comics = Media::where('type_id', 3)->get();

    foreach( $comics as $comic )
    {
        $artists = $comic->people()->whereHas('jobs', function( $query ){
            $query->where('job_name', '=', 'Artist');
        })->get();
        
        //json output above without index access
        echo json_encode($artists, JSON_PRETTY_PRINT);

        // but as output result like 2 array. the last one is empty. i try 
        access with index. It return suzuki with error undefined array index 
        0
        echo json_encode($artists[0]->first_name, JSON_PRETTY_PRINT);
    }

共有2个答案

郎鸿
2023-03-14

通过这样做,您将获得漫画集,但您似乎有兴趣获得艺术家集。以下是我的建议。

 $artists = People::with(['jobs', 'comics'])
                    ->whereHas('jobs', function($q) {
                        $q->where('job_name', 'Artist')
                    })
                     ->whereHas('comics', function($q) {
                        $q->where('type_id', 3)
                    })
                    ->get();
    
    echo json_encode($artists, JSON_PRETTY_PRINT);
盖和泰
2023-03-14

基于您的控制器,您可以执行此操作

$artist = Media::where('type_id', 3)->get();
$artist = $comics->people()->with(['jobs' => function ($query) {
    $query->where('job_name', 'Artist');
}])->get();

文件

 类似资料:
  • 我想链一个完整的未来,使它在处理过程中扇出。我的意思是,我对一个列表有一个开放的、可完成的未来,我想对列表中的每一项进行计算。 第一步是调用m_myApi.get响应(请求,执行器)发出异步调用。 该异步调用的结果有一个getCandidates方法。我想并行分析所有这些候选者。 目前,我的代码以串行方式解析它们 我想要这样的东西:

  • 本文向大家介绍请你说明ConcurrentHashMap锁加在了哪些地方?相关面试题,主要包含被问及请你说明ConcurrentHashMap锁加在了哪些地方?时的应答技巧和注意事项,需要的朋友参考一下 考点:集合 加在每个Segment 上面。

  • 我有一个现有的接口链,我想作为一个反应器运行,而不是管理我自己的线程和队列 我如何链接该结果,使其调用与批量的?

  • 现在,我有三个函数:updateFieldFromCollection1()、

  • 我想我已经知道这个问题的答案,但是,我想阅读你的意见,以确保我真正理解java线程的状态机(或图表)是如何工作的。 想象线程A在返回给定值之前运行通知(): notify()将在线程A释放锁之前调用(这将发生在return 11;语句之后)。那么,线程B(通过wait()方法)如何获得线程a仍然持有的锁呢?注意,当通知线程B时,线程A尚未释放锁。 因此,我对这种情况的看法如下: 调用etc()后,

  • 我试图了解调用EntityManager.lock(entity,LockModeType.READ)的效果。API 文档对我来说听起来很混乱。 如果我必须并发线程,线程1调用lock(实体,LockModeType.READ),线程2还能读写实体吗? 到目前为止,我学到了什么: JPA1 中的锁类型 READ 与 JPA2 中的 OPTIMISTIC 相同。如果设置了此类锁,则实体管理器会在提交