?laravel hasOne hasMany belongsto...
github
github.com/liaoshengping/laravel-r...
Installing
$ composer require liaosp/laravel-relation-save -vvv
✈Usage
在模型中新增
use SaveRelation;
?如何使用
$model->save($data);
$model->saveRelation($data);
? example
比如有主表store 和 store_detail
定義HasOne 關係
public function store_detail() {
return $this->hasOne(\App\Models\StoreDetail::class, 'store_id', 'id');
}
比如前端json 請求
{
"name":"liaosp的店鋪",
"store_detail":{
"address":"福建省廈門市思明區呂厝"
}
}
建立資料簡化前 (大概是這種意思)
//一些店鋪操作
$this->store->save();
$this->store_detail->store_id = $this->store->id;
$this->store_detail->address = $request->get('store_detail')['address'] ??'';
$this->store_detail->save();
我看了下Laravel-admin 的關聯儲存,對於快速開發的專案,覺得挺好的,值得學習。encore\laravel-admin\src\Form.php
只需如下就可以儲存關聯關係的資料了
$this->model->save($request->all());
$this->model->saveRelation($request->all());
適用 建立和更新 ,可參考原始碼,學習更多小技巧。
✏Reference
Contributing
You can contribute in one of three ways:
1. File bug reports using the issue tracker.
2. Answer questions or fix bugs on the issue tracker.
3. Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT
最後:各位,這種沒有過濾欄位的謹慎使用,雖然說很多同學都是這麼幹的(直接update),公司應急或者自己的專案可以用用
本作品採用《CC 協議》,轉載必須註明作者和本文連結