diff --git a/.env.example b/.env.example index 53d48bf..7ca44b5 100644 --- a/.env.example +++ b/.env.example @@ -1,15 +1,15 @@ -APP_NAME=Laravel +APP_NAME=ERP APP_ENV=local APP_KEY= APP_DEBUG=true -APP_URL=http://localhost +APP_URL=http://erp.test LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 -DB_DATABASE=laravel +DB_DATABASE=erp DB_USERNAME=root DB_PASSWORD= diff --git a/README.md b/README.md index a25de4b..18becf9 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,10 @@ 1. `composer install` 2. `cp .env.example .env` -3. 创建数据库 `CREATE DATABASE IF NOT EXISTS `erp` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;` -4. 修改 .env 配置项为本地配置 -5. `php artisan migration` +3. 修改 .env 配置项为本地配置 +4. 创建数据库 `CREATE DATABASE IF NOT EXISTS `erp` DEFAULT CHARACTER SET utf8;` +5. `php artisan migrate` +6. `php artisan key:generate` #### 使用说明 diff --git a/app/Filters/GoodsFilter.php b/app/Filters/GoodsFilter.php new file mode 100644 index 0000000..7e69e9f --- /dev/null +++ b/app/Filters/GoodsFilter.php @@ -0,0 +1,21 @@ +builder->where('title', 'like', "%$value%"); + } + + protected function typeId($value) + { + return $this->builder->where('type_id', '=', $value); + } + + protected function brandId($value) + { + return $this->builder->where('brand_id', '=', $value); + } +} diff --git a/app/Filters/GoodsSkuFilter.php b/app/Filters/GoodsSkuFilter.php new file mode 100644 index 0000000..0c892b8 --- /dev/null +++ b/app/Filters/GoodsSkuFilter.php @@ -0,0 +1,16 @@ +builder->where('title', '=', $value); + } + + protected function status($value) + { + return $this->builder->where('status', '=', $value); + } +} diff --git a/app/Filters/LogFilter.php b/app/Filters/LogFilter.php new file mode 100644 index 0000000..48ead84 --- /dev/null +++ b/app/Filters/LogFilter.php @@ -0,0 +1,8 @@ +with(['goods' => function($query) { - +// $goodsIds = []; + $goodsSkus = GoodsSku::query() + ->filter() + ->with(['goods' => function ($query) { + $query->with(['type:id,name', 'brand:id,name'])->filter(); }]) +// ->whereIn('goods_id', $goodsIds) ->paginate(); - return GoodsSkuResource::collection($goods); + return GoodsSkuResource::collection($goodsSkus); } public function store(Request $request) diff --git a/app/Models/Goods.php b/app/Models/Goods.php index d39a598..2e6db69 100644 --- a/app/Models/Goods.php +++ b/app/Models/Goods.php @@ -8,6 +8,13 @@ class Goods extends Model { use Filter; + //查询字段 + public $fieldSearchable = [ + 'title', + 'type_id', + 'brand_id', + ]; + /** * 多规格 */ diff --git a/app/Models/GoodsSku.php b/app/Models/GoodsSku.php index 9963d55..ba44c67 100644 --- a/app/Models/GoodsSku.php +++ b/app/Models/GoodsSku.php @@ -2,8 +2,18 @@ namespace App\Models; +use App\Models\traits\Filter; + class GoodsSku extends Model { + use Filter; + + //查询字段 + public $fieldSearchable = [ + 'title', + 'status', + ]; + /** * 不可批量赋值的属性。为空则所有熟悉都可以批量赋值 * @@ -11,7 +21,7 @@ class GoodsSku extends Model */ protected $guarded = []; - protected $hidden = ['goods_id', 'created_at']; + protected $hidden = ['created_at']; /** * 此规格从属于一个商品 diff --git a/config/database.php b/config/database.php index b42d9b3..b7ba080 100644 --- a/config/database.php +++ b/config/database.php @@ -48,12 +48,12 @@ return [ 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'erp'), + 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', + 'charset' => 'utf8', + 'collation' => 'utf8_general_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true,