TLDR:如何从一个表创建一个关系?例如,我希望用户表中的更改自动反映到供应商表中?类似于它只是从用户表引用。
我有这两张桌子
========================
USER table
1. id
2. username
3. password
4. name
========================
和
========================
SUPPLIER table
1. id
2. username
3. name
========================
每次添加新用户时,都应自动保存到供应商表中。这就是我所做的:
function saveUser($postdata) {
$newUser= new \App\UserModel;
$newUser->email = $postdata['email'];
$newUser->password = $postdata['password'];
$newUser->name = $postdata['name'];
$newUser->save();
$this->saveSupplier($postdata['email'], $postdata['name']);
}
function saveSupplier($email, $name) {
$newSupplier = new \App\SupplierModel;
$newSupplier->email = $email;
$newSupplier->name = $name;
$newSupplier->save();
}
你知道,这不是一种正确的关系。这就像手动保存到两个表中一样。如何使Supplier表依赖于用户表?例如,每次我在User表中进行更改时,它都会自动反映到供应商表,而不必触发更新方法。
答案 0 :(得分:0)
你可能对触发器感兴趣吗?如果您可以创建触发器,则可以在每次插入 final float distance = clontarfFC.distanceTo(currentLocation)/1000;
final String formattedDistance = String.format("%.02f", distance);
时使用它们插入SUPPLIER
。
类似的东西:
USER
答案 1 :(得分:0)
实现这一目标的一种方法是在你的启动方法中注册和事件 用户模型。
protected static function boot()
{
parent::boot();
static::created(function($user) {
Supplier::create([
'username' => $user->username //or email or whatever you have.
'name' => $user->name
]);
});
}