Recipes.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use OwenIt\Auditing\Contracts\Auditable;
  5. class Recipes extends Model implements Auditable
  6. {
  7. use \OwenIt\Auditing\Auditable;
  8. protected $table = "tb_dm_recipe";
  9. protected $auditInclude = [
  10. 'status',
  11. 'inventory_options',
  12. 'allow_pre_order',
  13. 'name',
  14. 'arabic_name',
  15. 'price',
  16. 'deleted_at',
  17. 'short_description'
  18. ];
  19. public function categories(){
  20. return $this->hasMany('App\Models\MapRecipeCategories','recipe_id','id');
  21. }
  22. public function product_faqs(){
  23. return $this->hasMany('App\Models\ProductFAQs','product_id','id')->whereNull('deleted_at');
  24. }
  25. public function variations(){
  26. return $this->hasMany('App\Models\VariationData','product_id','id')->whereNull('deleted_at');
  27. }
  28. public function categories_name(){
  29. return $this->hasOne('App\Models\MapRecipeCategories','recipe_id','id');
  30. }
  31. public function main_images(){
  32. return $this->hasOne('App\Models\Photos','recipe_id','id')->where('photo_type','main_image');
  33. }
  34. public function restuarants(){
  35. return $this->belongsTo('App\Models\Restaurants','resto_id','id');
  36. }
  37. public function galleries(){
  38. return $this->hasMany('App\Models\Photos','recipe_id','id')->where('photo_type','gallery')->whereNull('deleted_at');
  39. }
  40. public function extra_options(){
  41. return $this->hasMany('App\Models\ExtraOptions','recipe_id','id')->whereNull('deleted_at');
  42. }
  43. public function extra_options_with_items(){
  44. return $this->hasMany('App\Models\ExtraOptions','recipe_id','id')->whereNull('deleted_at');
  45. }
  46. public function items_sales(){
  47. $a = $this->hasMany('App\Models\OrderItems','recipe_id','id')->whereHas('orders',function($q){
  48. $q->whereIn('status',['On_Road','Has_Delivered']);
  49. // $q->where('status','!=','Initial');
  50. });
  51. return $a;
  52. }
  53. /*public function recipe_with_category(){
  54. return $this->belongsTo('App\MapRecipeCategories','recu','category')->select(DB::raw('sum(tb_dm_order_items.qty*tb_dm_order_items.price) AS total_price'))->where("status",1);
  55. }*/
  56. }