Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
Models
/
Filename :
StoreProduct.php
back
Copy
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; class StoreProduct extends Model { use SoftDeletes; protected $table = 'store_product'; protected $primaryKey = 'store_product_id'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'store_id', 'product_id', 'is_published', 'created_at', 'updated_at', 'deleted_at', ]; public function product(): HasOne { return $this->hasOne(Product::class, 'product_id', 'product_id'); } public function productClaims(): HasMany { return $this->hasMany(ProductClaimed::class, 'store_product_id', 'store_product_id'); } public static function populateRewardAdditionalAttributes(StoreProduct &$storeProduct, $user_id, $store_id){ $claim = $storeProduct->productClaims()->where('user_id', $user_id)->whereIn('status', ['APPROVED', 'REWARDED']); $claim_under_review = $storeProduct->productClaims()->where('user_id', $user_id)->where('status', 'PENDING_APPROVAL'); $storeProduct['claim_status'] = ( $claim->exists() ? 'APPROVED' : ($claim_under_review->exists() ? 'PENDING_APPROVAL': 'PENDING')); } }