App\Ninja\Repositories\ProductRepository::save PHP Method

save() public method

public save ( $data, $product = null )
    public function save($data, $product = null)
    {
        $publicId = isset($data['public_id']) ? $data['public_id'] : false;
        if ($product) {
            // do nothing
        } elseif ($publicId) {
            $product = Product::scope($publicId)->firstOrFail();
            \Log::warning('Entity not set in product repo save');
        } else {
            $product = Product::createNew();
        }
        $product->fill($data);
        $product->save();
        return $product;
    }

Usage Example

 /**
  * @param UpdateProductRequest $request
  * @param $publicId
  * @return \Illuminate\Http\Response
  */
 public function update(UpdateProductRequest $request, $publicId)
 {
     if ($request->action) {
         return $this->handleAction($request);
     }
     $data = $request->input();
     $data['public_id'] = $publicId;
     $product = $this->productRepo->save($data, $request->entity());
     return $this->itemResponse($product);
 }