PATH:
home
/
lab2454c
/
costbloc.com
/
app
/
Models
<?php /** * @package AttributeGroup * @author TechVillage <support@techvill.org> * @contributor Sakawat Hossain Rony <[sakawat.techvill@gmail.com]> * @created 25-07-2021 */ namespace App\Models; use App\Models\Model; use App\Traits\ModelTrait; use Validator; class AttributeGroup extends Model { use ModelTrait; /** * Relation with attribute model * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function attribute() { return $this->hasMany('App\Models\Attribute', 'attribute_group_id', 'id'); } /** * Foreign key with Vendor model * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function vendor() { return $this->belongsTo('App\Models\Vendor', 'vendor_id'); } /** * Store Validation * @param array $data * @return mixed */ protected static function storeValidation($data = []) { $validator = Validator::make($data, [ 'name' => 'required|min:3|max:50|unique:attribute_groups,name', 'vendor' => 'nullable|exists:vendors,id', 'summary' => 'nullable|max:191', 'status' => 'required|in:Active,Inactive', ]); return $validator; } /** * Update Validation * @param array $data * @return mixed */ protected static function updateValidation($data = [], $id) { $validator = Validator::make($data, [ 'name' => ['required','min:3','max:50','unique:attribute_groups,name,' . $id], 'vendor' => 'nullable|exists:vendors,id', 'summary' => 'nullable|max:191', 'status' => 'required|in:Active,Inactive', ]); return $validator; } /** * Store * @param array $data * @return int|null */ public function store($data = []) { $id = parent::insertGetId($data); if (!empty($id)) { self::forgetCache(); return $id; } return false; } /** * Update * @param array $data * @param null $id * @return bool */ public function updateAttributeGroup($data = [], $id = null) { $result = parent::where('id', $id); if ($result->exists()) { $result->update($data); self::forgetCache(); return true; } return false; } /** * Delete * @param int $id * @return array */ public function remove($id = null) { $data = ['status' => 'fail', 'message' => __('Something went wrong, please try again.')]; $record = parent::find($id); if (!empty($record)) { try { $attributeRecord = Attribute::getAll()->where('attribute_group_id', $id)->first(); if (!empty($attributeRecord)) { $data['message'] = __('Can not be deleted. This :x has records!', ['x' => __('Attribute Group')]); } else { $record->delete(); self::forgetCache(['attributes', 'attribute_values']); $data['status'] = 'success'; $data['message'] = __('The :x has been successfully deleted.', ['x' => __('Attribute Group')]); } } catch (Exception $e) { $data['message'] = $e->getMessage(); } } return $data; } }
[-] TransactionReference.php
[edit]
[-] Attribute.php
[edit]
[-] ProductStats.php
[edit]
[-] Language.php
[edit]
[-] CategoryAttribute.php
[edit]
[-] File.php
[edit]
[-] Review.php
[edit]
[+]
..
[-] Favorite.php
[edit]
[-] OrderStatus.php
[edit]
[-] OrderNoteHistory.php
[edit]
[-] Country.php
[edit]
[-] Permission.php
[edit]
[-] Address.php
[edit]
[-] Seo.php
[edit]
[-] EmailTemplate.php
[edit]
[-] AttributeGroup.php
[edit]
[-] Model.php
[edit]
[-] WithdrawalMethod.php
[edit]
[-] Preference.php
[edit]
[-] ProductMeta.php
[edit]
[-] Category.php
[edit]
[-] RoleUser.php
[edit]
[-] Order.php
[edit]
[-] UserSearch.php
[edit]
[-] Location.php
[edit]
[-] Wishlist.php
[edit]
[-] ProductTag.php
[edit]
[-] Customer.php
[edit]
[-] FlashSale.php
[edit]
[-] OrderStatusRole.php
[edit]
[-] ProductCrossSale.php
[edit]
[-] OrderStatusHistory.php
[edit]
[-] OrderDetail.php
[edit]
[-] Brand.php
[edit]
[-] ProductUpsale.php
[edit]
[-] Wallet.php
[edit]
[-] PasswordReset.php
[edit]
[-] AttributeValue.php
[edit]
[-] OrderMeta.php
[edit]
[-] Transaction.php
[edit]
[-] Product.php
[edit]
[-] UserWithdrawalSetting.php
[edit]
[-] EmailConfiguration.php
[edit]
[-] Currency.php
[edit]
[-] PermissionRole.php
[edit]
[-] ProductRelate.php
[edit]
[-] Search.php
[edit]
[-] User.php
[edit]
[-] VendorUser.php
[edit]
[-] themes.php
[edit]
[-] Role.php
[edit]
[-] ProductCategory.php
[edit]
[-] Tag.php
[edit]
[-] MetaData.php
[edit]
[-] Vendor.php
[edit]