【发布时间】:2019-08-29 13:10:50
【问题描述】:
又是一个雄辩的关系问题 :) 我希望有人能帮助我!
ProductionOrder.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ProductionOrder extends Model
{
public function workOrders()
{
return $this->hasMany('App\WorkOrder');
}
}
WorkOrder.php
namespace App;
use Illuminate\Database\Eloquent\Model;
class WorkOrder extends Model
{
public function productionOrder()
{
return $this->belongsTo('App\ProductionOrder');
}
}
因此,ProductionOrder 应该有一个或多个 WorkOrder。
生产订单迁移
public function up()
{
Schema::create('production_orders', function (Blueprint $table)
{
$table->bigIncrements('id');
$table->unsignedBigInteger('production_order_id')->unique();
$table->longText('notes')->nullable();
$table->timestamps();
});
}
工单迁移
public function up()
{
Schema::create('work_orders', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('work_order_id')->unique();
$table->unsignedBigInteger('production_order_id');
});
}
ID 名称不只是“id”的原因是因为我从外部 API 导入订单数据。我认为这就是为什么关系不起作用但我似乎无法修复它的原因。
ProductionOrder::with('workOrders')->get();
上面为每个生产订单在work_orders属性中返回一个空数组,但是在数据库中肯定有工作订单与现有production_order_id。
【问题讨论】:
标签: laravel eloquent relationship