wbright1234

wbright1234

Member Since 1 Year Ago

Experience Points
270
Total
Experience

4,730 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed
0
Lessons
Completed
Best Reply Awards
0
Best Reply
Awards
  • start your engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-in-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber Created with Sketch.

    Subscriber

    Earned if you are a paying Laracasts subscriber.

  • lifer Created with Sketch.

    Lifer

    Earned if you have a lifetime subscription to Laracasts.

  • evangelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

Level 1
270 XP
Mar
25
2 weeks ago
Activity icon

Replied to Laravel Collection Prevent Duplicate Entries In Database

I have resolved it using unique method. Thanks Here is how I got it done


$soldProducts->unique('product_id')->each(function (SoldProduct $product) {$product->save();
});

hope this helps someone

Mar
24
2 weeks ago
Activity icon

Replied to Laravel Collection Prevent Duplicate Entries In Database

@sti3bas Hi thanks, I tried there is still duplicate, to clarify, the ids are from form details for products added to cart for sales, am saving in table for sold products. I am getting the duplicates cos a product can have more than one batch, these duplicates are from products with more than one batch, what I have noticed from the database is that if a product have 5 batches for example, the product is saved 5 time

Activity icon

Started a new Conversation Laravel Collection Prevent Duplicate Entries In Database

Hi All I have a collection which is save in a the database, the problem is that there ids are duplicated on save, what i need is to save how do I save just on Id for each product. below is a sample code from my controller

	public function storeCheck(Request $request)
	{
		$ids = collect($request->ids);
		$quantities = collect($request->quantities);
		if ($ids->count() === 0 || $quantities->count() === 0) 
		{
			return redirect()->back()->with('error', 'Заполните чек товаром!');
		}


		$productsIdsToSell = Collection::make();

		foreach ($ids as $index => $id) 
		{
			$productsIdsToSell[$id] = $quantities[$index];
		}
		$productsIdsToSell = $productsIdsToSell->sort();
		$products = Product::query()->whereIn('id', array_keys($productsIdsToSell->toArray()))->get();


		foreach ($products as $index => $product) {
			$actualProductQuantity = $product->batches->sum(function (Batch $batch) {
				return $batch->quantity;
			});

			$productQuantity = floatval($productsIdsToSell[$product->id]);
			//dd($productQuantity);

			if ($actualProductQuantity < $productQuantity) {
				return redirect()->back()->with('error', 'Количество товара на продажу указано больше, чем есть в базе');
			}

foreach ($product->batches as $batch) 
{
$soldProducts->push(SoldProduct::query()->make([
'product_id' 		=> $batch->product->id,
'measure_id' 		=> $batch->product->measure->id,
'manufacturer_id' 	=> $batch->product->manufacturer->id,
'type' 				=> $batch->product_type,
'purchase_price'	=> $batch->price * 100,
'selling_price'		=> $batch->product->price * 100,
'cash_desk_id'		=> 1,
'check_id'			=> $check->id,
'quantity'			=> $productQuantity
]));
}
	
$soldProducts->each(function (SoldProduct $product) {

			$product->save();
});
$request->session()->flash('status', 'Товар продан успешно!');
return redirect()->back();
	}

I think what I need to do is to save unique id so that there is no duplicate id

$soldProducts->each(function (SoldProduct $product) {$product->save();});

Please help