liaosp/laravel-relation-save

laravel 关联保存 hasOne hasMany belongsto

v1.0.6 2022-07-03 05:25 UTC

This package is auto-updated.

Last update: 2024-09-30 02:10:41 UTC


README

📦laravel 关联保存 hasOne hasMany belongsto.

Latest Stable Version Total Downloads Daily Downloads License StyleCI

github

https://github.com/liaoshengping/laravel-relation-save

安装

$ composer require liaosp/laravel-relation-save -vvv

✈使用

在模型中添加

use SaveRelation;

🔨使用

$this->model->save($validate->getData());

$this->model->saveRelation($validate->getData());

🌰 示例

比如有主表shop 和 store_detail

定义HasOne 关系

   public function store_detail()
    {
        return $this->hasOne(\App\Models\StoreDetail::class, 'store_id', 'id');
    }

比如前端json 请求

  {
    "name": "老廖的店铺",
    "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());

更新日志

2022年3月27日10:21:21  多对多无限级保存

适用 创建和更新 ,可参考源码,学习更多小技巧。

laravel-relation-save

✏参考资料

laravel-admin

【源码分析】Laravel-admin 关联保存的原理

其他

Laravel 验证中文扩展

贡献

你可以通过以下三种方式之一进行贡献

  1. 使用问题跟踪器提交错误报告。
  2. 问题跟踪器上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

代码贡献过程并不正式。你只需要确保遵循PSR-0、PSR-1和PSR-2编码指南。任何新的代码贡献都必须附有适用的单元测试。

许可证

MIT