我有1到1个模型(model1 <-1 --- 1-> model1.0),并且我有model2.0如下:
+------+ +---------+
| | +--1-+model1.0 |
|model1+-1--+ +---------+
| | +----------+
+------+ |model2.0 |
+----------+
父模型:
model1 class: { $this->HasOne(ChildModel::class); }
子模型:
model1.0 class: {$this->belongsTo(Model1::class); }
问题:我如何从Model1.0转向Model 2.0?如下所示:
+------+ +---------+
| | |model1.0 |
|model1+-1--+ +---------+
| | | +----------+
+------+- +-------------1-|model2.0 |
+----------+
注意:
model1和model1.0在数据库中,但model2.0仍在控制器中作为对象变量。
model1.0和model2.0是同一模型类的对象
答案 0 :(得分:0)
查看文档的this部分:
属于关系
在更新
surface_array = [[0 for i in range (0,10)] for j in range(0,10)] surface_array[1][1] = 1 surface_array[0][1] = 1 surface_array[2][0] = 1 surface = np.array(surface_array) print(surface) floodfill(0, 0, 0, 100) print(surface)
关系时,您可以使用belongsTo
方法。此方法将在子模型上设置外键:associate
在删除
$account = App\Account::find(10); $user->account()->associate($account); $user->save();
关系时,您可以使用belongsTo
方法。此方法会将关系的外键设置为dissociate
:null
因此,您可以执行以下操作:
$user->account()->dissociate();
$user->save();
Pd:我假设/** Delete the relationship */
// get your model1.0 object
$model1_0 = ChildModel::find($id_1);
// delete the relationship between Model1.0 and Model1
$model1_0->relation()->dissociate();
$model1_0->save();
/** Create the new relationship */
// get your model2.0 object
$model2_0 = ChildModel::find($id_2);
// get your model1 object
$model1 = Model1::find($id);
// relate the models
$model2_0->relation()->associate($model1);
$model2_0->save();
是子模型中定义的关系的名称。
ChildModel.php
relation()