Laravel将数据插入到一对一关系表中

时间:2017-06-21 04:05:14

标签: laravel foreign-key-relationship one-to-one laravel-eloquent database-relations

如何将数据(相互链接)插入表格' PEMBATALAN'具有一对一关系(在两个表中都有外键)到另一个表“PERMINTAAN'。

这里是' pembatalan'型号代码:

class Pembatalan extends Model
{
    public $table = "PEMBATALAN";
    public $primaryKey = "ID_PEMBATALAN";
    public $fillable = array(
        'PERMINTAAN_ID',
        'ALASAN_PEMBATALAN',
        'TGL_PEMBATALAN',
        'FILE_PEMBATALAN',
        'STATUS_PEMBATALAN',
    );
    public function permintaan() {
        return $this->belongsTo('Permintaan', 'PERMINTAAN_ID', 'ID_PERMINTAAN');
    }
}

' Permintaan'型号代码:

class Permintaan extends Model
{

    public $table = "PERMINTAAN";
    public $fillable = array(
        'NOMOR_TICKET',
        'TGL_PERMINTAAN',
        'NAMA_REQUESTER',
        'PEMBATALAN_ID',
    );
    public $primaryKey = "ID_PERMINTAAN";

    public function tikpro() {
        return $this->belongsToMany('Tikpro','TIKPRO_ID','ID_TIKPRO');
    }
    public function pembatalan() {
        return $this->hasOne('Pembatalan','PEMBATALAN_ID','ID_PEMBATALAN');
    }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

创建您的Permintaan,然后使用该引用创建关系

只有Pembatalan需要Permintaan的外键或其他方式。

$p = Permintaan::create([
     'NOMOR_TICKET' =>$value,
     'TGL_PERMINTAAN' =>$value,
     'NAMA_REQUESTER' =>$value,
 ]);

$p->pembatalan()->create([
    'ALASAN_PEMBATALAN' =>$value,
    'TGL_PEMBATALAN' =>$value,
    'FILE_PEMBATALAN' =>$value,
    'STATUS_PEMBATALAN' =>$value,
 ]);

Laravel docs对使用hasOne的一对一关系有很好的解释,属于