MachineAdvRepository.php 2.64 KB
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/2/16
 * Time: 11:01
 */

namespace App\Repositories\Backend\MachineAdv;

use App\Modules\Models\MachineAdv\MachineAdv;
use Illuminate\Support\Facades\DB;
use App\Modules\Repositories\MachineAdv\BaseMachineAdvRepository;
class MachineAdvRepository   extends BaseMachineAdvRepository
{
    public function getForDataTable()
    {
        return $this->query()->get();
    }

     public  function getinfo()
     {
         return   $this->query()->select('machine_adv.id','machine_adv.img_url','machine_adv.created_at','machine_adv.updated_at','machine.mac_no')->leftjoin('machine','machine_adv.machine_id','=','machine.id')->get();
     }

    public function create($input)
    {

        $key =array_keys($input['data']);
        $res=in_array('img_url',$key);
        if($res){
            $backet="img_url";
        } else{
            throw new GeneralException(trans('exceptions.backend.machineadv.backet_error'));
            die();
        }
        $img=$this->imgup($backet);
        $data=[];
        $data['size'] = $img['size'];
        $data['img_url'] = $img['path'];
        $data['machine_id']= $input['data']['machine_id'];
        $machineadv = $this->createUserStub($data);

        DB::transaction(function () use ($machineadv, $data) {
            if ($machineadv->save($data)) {
                //Attach new roles
                // event(new BusinessCreated($business));
                return true;
            }

            throw new GeneralException(trans('exceptions.backend.machineadv.create_error'));
        });

    }
    protected function createUserStub($info)
    {
      
        $machineadv = self::MODEL;
        $machineadv = new $machineadv;
        $machineadv->machine_id = $info['machine_id'];
        $machineadv->img_url = $info['img_url'];
        $machineadv->size = $info['size'];
        return $machineadv;
    }
      public function update(MachineAdv $machineadv,$input)
      {

          $key =array_keys($input['data']);
          $res=in_array('img_url',$key);
          if($res){
              $backet="img_url";
          } else{
              throw new GeneralException(trans('exceptions.backend.machineadv.backet_error'));
              die();
          }
          $img=$this->imgup($backet);
          $data=[];
          $data['size'] = $img['size'];
          $data['img_url'] = $img['path'];
          DB::transaction(function () use ($machineadv, $data) {
              if ($machineadv->update($data)) {

                  return true;
              }

              throw new GeneralException(trans('exceptions.backend.machineadv.update_error'));
          });
      }
}