Laravel5.5雄辩的关系with()没有效果

时间:2019-03-06 06:03:11

标签: laravel laravel-5 eloquent eloquent--relationship

我有3个模型,并且已经设置了关联。

  

模型A:

namespace App\Model;
use Illuminate\Database\Eloquent\Model;

class ComponentA extends Model
{
    protected $table = 'ComponentA';
    protected $primaryKey = 'ComponentAId';

    public function ComponentB() {
        return $this->hasOne(
            'App\Model\ComponentB', 'ComponentBId', 'ComponentBId'
        );
}
  

B型:

namespace App\Model;
use Illuminate\Database\Eloquent\Model;

class ComponentB extends Model
{
    protected $table = 'ComponentB';
    protected $primaryKey = 'ComponentBId';

    public function ComponentC() {
        return $this->hasOne(
            'App\Model\ComponentC', 'ComponentCId', 'ComponentCId'
        )->withDefault();
    }
}
  

C型:

namespace App\Model;
use Illuminate\Database\Eloquent\Model;

class ComponentC extends Model
{
    protected $table = 'ComponentC';
    protected $primaryKey = 'ComponentCId';
}

现在,在控制器中,我想从A调用C并按排序C列,我使用 with()方法。

  

控制器:

$this->ComponentA->with(['ComponentB.ComponentC' => function($query) {
    $query->orderby('ComponentCId','DESC');
}])->paginate();

那是正确的,没有任何错误,但是结果未排序

请帮助我我错了吗?

非常感谢。

0 个答案:

没有答案