Laravel 基于其他表中的列筛选有说服力的变形关系

Laravel 基于其他表中的列筛选有说服力的变形关系,laravel,laravel-4,eloquent,table-relationships,Laravel,Laravel 4,Eloquent,Table Relationships,我有一个雄辩的模型,它与其他雄辩的模型类似,如下所示: <?php class Message extends Eloquent { public function message() { return $this->morphTo('message'); } } 但是,这不起作用,因为它仍然返回变形为表中的状态与拒绝状态不匹配的消息 为了透明起见,MessageState::Devered的值为2,但我将返回变形为表状态列等于0的消息

我有一个雄辩的模型,它与其他雄辩的模型类似,如下所示:

<?php

class Message extends Eloquent {

    public function message()
    {
        return $this->morphTo('message');
    }

}
但是,这不起作用,因为它仍然返回变形为表中的状态与拒绝状态不匹配的消息


为了透明起见,MessageState::Devered的值为2,但我将返回变形为表状态列等于0的消息。

显示代码,执行查询和查询的位置以及DB::getQueryLog Forexample@deczo我不执行查询,而是使用Eloquent的流畅查询生成器,例如$messages->declinedMessages;没错,根据您的问题,您得到的结果是错误的,所以请显示代码。@deczo我想我没有听懂。我已经给出了密码。我把我的declinedMessages范围称为问题中上面列出的模型。好吧,我的猜测是雄辩的bug,因为多态关系是bug。我不认为你们能做你们想做的,因为闭包中的whereset将被忽略。因此,检查运行的查询,您就会知道。
public function scopeDeclinedMessages($query)
{
    return $query->with(array('message' => function ($q)
    {
        $q->where('state', '=', MessageState::DECLINED);

    }));
}