PageRenderTime 53ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/app/models/Clinic.php

https://gitlab.com/jeamar1234/medicloud
PHP | 242 lines | 143 code | 47 blank | 52 comment | 3 complexity | e37db6324382ef367c9e371c5b5f22fb MD5 | raw file
  1. <?php
  2. use Illuminate\Auth\UserTrait;
  3. use Illuminate\Auth\UserInterface;
  4. use Illuminate\Auth\Reminders\RemindableTrait;
  5. use Illuminate\Auth\Reminders\RemindableInterface;
  6. class Clinic extends Eloquent implements UserInterface, RemindableInterface {
  7. use UserTrait, RemindableTrait;
  8. /**
  9. * The database table used by the model.
  10. *
  11. * @var string
  12. */
  13. protected $table = 'clinic';
  14. /**
  15. * The attributes excluded from the model's JSON form.
  16. *
  17. * @var array
  18. */
  19. //protected $hidden = array('password', 'remember_token');
  20. public function search ($search){
  21. $clinicData = DB::table('clinic')
  22. ->select('clinic.ClinicID','clinic.Name as CLName','clinic.Clinic_Type','clinic.Description','clinic.Custom_title','clinic.Website','clinic.image as CLImage','clinic.Address as CLAddress','clinic.State as CLState','clinic.City as CLCity','clinic.Postal as CLPostal','clinic.Phone','clinic.Lat as CLLat','clinic.Lng as CLLng','clinic.Clinic_Price')
  23. ->where('Active', '=', 1)
  24. //->where('Name', 'LIKE', "%{$search}%")
  25. //->orWhere('District', 'LIKE', "%{$search}%")
  26. //->orWhere('MRT', 'LIKE', "%{$search}%")
  27. ->where(function ($clinicData) use ($search) {
  28. $clinicData->where('Name', 'LIKE', "%{$search}%")
  29. ->orWhere('District', 'LIKE', "%{$search}%")
  30. ->orWhere('MRT', 'LIKE', "%{$search}%");
  31. })
  32. ->get();
  33. /*
  34. ->where('Name', 'LIKE', "%{$search}%")
  35. ->where('Active', '=', 1)
  36. ->orWhere(function($query)
  37. {
  38. $query->where('District', 'LIKE', "%{$search}%");
  39. // ->where('Active', '=', 1);
  40. })
  41. */
  42. if($clinicData){
  43. return $clinicData;
  44. }else{
  45. return false;
  46. }
  47. }
  48. public function ClinicDetails($value){
  49. $clinicData = DB::table('clinic')
  50. ->where('ClinicID', '=', $value)
  51. ->where('Active', '=', 1)
  52. ->first();
  53. if($clinicData){
  54. return $clinicData;
  55. }else{
  56. return false;
  57. }
  58. }
  59. public function Nearby1($lat,$lng,$radius,$getType){
  60. $clinicData = DB::table('clinic')
  61. ->join('clinic_types_detail', 'clinic.ClinicID', '=', 'clinic_types_detail.ClinicID')
  62. ->join('clinic_types', 'clinic_types_detail.ClinicTypeID', '=', 'clinic_types.ClinicTypeID')
  63. ->select('clinic.ClinicID','clinic.Name','clinic.Address','clinic.image','clinic.Lat','clinic.Lng','clinic.Phone','clinic.Opening','clinic.Clinic_Price',
  64. 'clinic_types.ClinicTypeID','clinic_types.Name as ClinicType',
  65. DB::raw("
  66. (3959 * acos( cos( radians({$lat}) ) *
  67. cos( radians( lat ) )
  68. * cos( radians( lng ) - radians({$lng})
  69. ) + sin( radians({$lat}) ) *
  70. sin( radians( lat ) ) )
  71. ) AS distance"))
  72. ->where("clinic.Active","=",1)
  73. ->where("clinic_types.Active","=",1)
  74. ->where("clinic_types_detail.Active","=",1)
  75. ->where("clinic_types_detail.ClinicTypeID","=",$getType)
  76. ->having("distance", "<", $radius)
  77. ->orderBy("distance","ASC")
  78. ->get();
  79. return $clinicData;
  80. }
  81. public function Nearby($lat,$lng,$radius,$getType){
  82. $clinicData = DB::table('clinic')
  83. ->join('clinic_types_detail', 'clinic.ClinicID', '=', 'clinic_types_detail.ClinicID')
  84. ->join('clinic_types', 'clinic_types_detail.ClinicTypeID', '=', 'clinic_types.ClinicTypeID')
  85. ->select('clinic.ClinicID','clinic.Name as CLName','clinic.Clinic_Type','clinic.Description','clinic.Custom_title','clinic.Website','clinic.image as CLImage','clinic.Address as CLAddress','clinic.State as CLState','clinic.City as CLCity','clinic.Postal as CLPostal','clinic.Phone','clinic.Lat as CLLat','clinic.Lng as CLLng','clinic.Clinic_Price',
  86. 'clinic_types.ClinicTypeID','clinic_types.Name as ClinicType',
  87. DB::raw("
  88. (3959 * acos( cos( radians({$lat}) ) *
  89. cos( radians( lat ) )
  90. * cos( radians( lng ) - radians({$lng})
  91. ) + sin( radians({$lat}) ) *
  92. sin( radians( lat ) ) )
  93. ) AS distance"))
  94. ->where("clinic.Active","=",1)
  95. ->where("clinic_types.Active","=",1)
  96. ->where("clinic_types_detail.Active","=",1)
  97. ->where("clinic_types_detail.ClinicTypeID","=",$getType)
  98. ->having("distance", "<", $radius)
  99. ->orderBy("distance","ASC")
  100. ->get();
  101. return $clinicData;
  102. }
  103. public function Nearby_Old($lat,$lng,$radius){
  104. $clinicData = DB::table('clinic')
  105. ->select(
  106. DB::raw("*,
  107. (3959 * acos( cos( radians({$lat}) ) *
  108. cos( radians( lat ) )
  109. * cos( radians( lng ) - radians({$lng})
  110. ) + sin( radians({$lat}) ) *
  111. sin( radians( lat ) ) )
  112. ) AS distance"))
  113. ->where("Active","=",1)
  114. ->having("distance", "<", $radius)
  115. ->orderBy("distance","ASC")
  116. ->get();
  117. if($clinicData){
  118. return $clinicData;
  119. }else{
  120. return false;
  121. }
  122. }
  123. public function PanelClinicNearby($lat,$lng,$radius,$insuranceid){
  124. $clinicData = DB::table('clinic')
  125. ->join('clinic_insurence_company', 'clinic.ClinicID', '=', 'clinic_insurence_company.ClinicID')
  126. //->join('insurance_company', 'clinic_insurence_company.InsuranceID', '=', 'insurance_company.CompanyID')
  127. //->select('clinic.ClinicID','clinic.Name')
  128. ->select(
  129. DB::raw("*,
  130. (3959 * acos( cos( radians({$lat}) ) *
  131. cos( radians( lat ) )
  132. * cos( radians( lng ) - radians({$lng})
  133. ) + sin( radians({$lat}) ) *
  134. sin( radians( lat ) ) )
  135. ) AS distance") )
  136. //->select('clinic.ClinicID')
  137. ->where("clinic.Active","=",1)
  138. ->where("clinic_insurence_company.Active","=",1)
  139. ->where("clinic_insurence_company.InsuranceID","=",$insuranceid)
  140. ->having("distance", "<", $radius)
  141. ->orderBy("distance","ASC")
  142. ->get();
  143. //print_r($clinicData);
  144. return $clinicData;
  145. }
  146. /*public function Nearby($lat,$lng,$radius){
  147. $clinicData = DB::table('clinic')
  148. ->select(
  149. DB::raw("*,
  150. (3959 * acos( cos( radians({$lat}) ) *
  151. cos( radians( lat ) )
  152. * cos( radians( lng ) - radians({$lng})
  153. ) + sin( radians({$lat}) ) *
  154. sin( radians( lat ) ) )
  155. ) AS distance"))
  156. ->where("Active","=",1)
  157. ->having("distance", "<", $radius)
  158. ->orderBy("distance","ASC")
  159. ->get();
  160. if($clinicData){
  161. return $clinicData;
  162. }else{
  163. return false;
  164. }
  165. }*/
  166. public function FindClinicProfile($clinicid){
  167. $clinicData = DB::table('clinic')
  168. ->join('user', 'clinic.ClinicID', '=', 'user.Ref_ID')
  169. ->select('clinic.ClinicID','clinic.Name as CLName','clinic.Clinic_Type','clinic.Description','clinic.Custom_title','clinic.Website','clinic.image as CLImage','clinic.Address as CLAddress','clinic.State as CLState','clinic.City as CLCity','clinic.Postal as CLPostal','clinic.Phone','clinic.Lat as CLLat','clinic.Lng as CLLng','clinic.Clinic_Price',
  170. 'user.UserType','user.Email','user.Password')
  171. ->where("clinic.Active","=",1)
  172. ->where("user.Active","=",1)
  173. ->where("clinic.ClinicID","=",$clinicid)
  174. ->first();
  175. return $clinicData;
  176. }
  177. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
  178. // WEB //
  179. //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
  180. public function FindClinicDetails($value){
  181. $clinicData = DB::table('clinic')
  182. ->where('ClinicID', '=', $value)
  183. ->where('Active', '=', 1)
  184. ->first();
  185. return $clinicData;
  186. }
  187. public function UpdateClinicDetails($dataArray){
  188. $allData = DB::table('clinic')
  189. ->where('ClinicID', '=', $dataArray['clinicid'])
  190. ->update($dataArray);
  191. return $allData;
  192. }
  193. }