在控制器中联接两个表

时间:2019-11-16 09:27:33

标签: php laravel

绵羊迁移

Schema::create('sheeps', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('name');
    $table->integer('corral_id')->unsigned()->nullable();

    $table->foreign('corral_id')->references('id')->on('corrals');
});

Corral仅具有name字段。我想和绵羊一起显示畜栏。我可以穿过每只绵羊,并在前端检查corral_id并放置在相关的畜栏内。但是我想在后端执行此操作,因此我应该在那里放羊。

public function index():CorralResourceCollection
{
    return new CorralResourceCollection(Corral::paginate());
}

1 个答案:

答案 0 :(得分:0)

您是要执行SQL连接,还是仅将两个集合连接就可以工作?

在下面的示例中,我有两个表,分别称为狗和猫。通过执行以下操作,我可以轻松创建所有名称的集合(在Tinker中尝试):

use MyCoolApp\Models\Dog;
use MyCoolApp\Models\Cat;

$all_my_pets = Dog::get()->pluck('name');
$all_my_pets->concat(Cat::get()->pluck('name'));