Member Since 2 Years Ago
410 experience to go until the next level!
In case you were wondering, you earn Laracasts experience when you:
Earned once you have completed your first Laracasts lesson.
Earned once you have earned your first 1000 experience points.
Earned when you have been with Laracasts for 1 year.
Earned when you have been with Laracasts for 2 years.
Earned when you have been with Laracasts for 3 years.
Earned when you have been with Laracasts for 4 years.
Earned when you have been with Laracasts for 5 years.
Earned when at least one Laracasts series has been fully completed.
Earned after your first post on the Laracasts forum.
Earned once 100 Laracasts lessons have been completed.
Earned once you receive your first "Best Reply" award on the Laracasts forum.
Earned if you are a paying Laracasts subscriber.
Earned if you have a lifetime subscription to Laracasts.
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.
Earned once you have achieved 500 forum replies.
Earned once your experience points passes 100,000.
Earned once your experience points hits 10,000.
Earned once 1000 Laracasts lessons have been completed.
Earned once your "Best Reply" award count is 100 or more.
Earned once your experience points passes 1 million.
Earned once your experience points ranks in the top 50 of all Laracasts users.
Earned once your experience points ranks in the top 10 of all Laracasts users.
Replied to What Does `onWriteConnection` Do In Model ?
Laravel allows you to configure a separate read DB connection - replicate of your main DB only for reading operations, to distribute the load.
Replica databases may have a little delay, so in some cases when you just created a Model and immediately retrieving it, you may not find it, and should query from the write connection
Replied to Does Laravel Disconnect To Database After Each Query?
I guess its a PDO behavior.
how many sleep lines you see in the processlist, against how many PHP processes do you have?
Replied to Get Cache Keys
you may listen to the KeyWritten
and KeyForgotten
events, and save the key you received in the event in a dedicated "all_cached_keys" key.
notice to exclude the "all_cached_keys" key so you don't create an infinity loop :)
Awarded Best Reply on Merge Into One Collection
dont change the collections, just change how you print the table:
Table
@foreach ($shops as $shop)
@foreach($shop->products as $product)
-New <tr>-
{{$shop->name}}
-More product details-
{{$product->pivot->qty}}
-End </tr>-
@endforeach
@endforeach
End Table
Replied to Merge Into One Collection
dont change the collections, just change how you print the table:
Table
@foreach ($shops as $shop)
@foreach($shop->products as $product)
-New <tr>-
{{$shop->name}}
-More product details-
{{$product->pivot->qty}}
-End </tr>-
@endforeach
@endforeach
End Table
Replied to Opposite Of `select` In Query Builder?
You can use the ide-helper:model command to generate class annotations including the actual columns, then use reflection class to get them in runtime.
protected static $columns;
public function scopeSelectWithout($query, $withoutColumns)
{
if (!static::$columns) {
$rc = new \ReflectionClass(static::class);
static::$columns = collect(explode("\n", $rc->getDocComment()))
->filter(fn($columnLine) => Str::startsWith($columnLine, ' * @property '))
->map(function ($columnLine) {
$columnLine = explode(' ', $columnLine);
return str_replace('$', '', array_pop($columnLine));
});
}
$query->select(array_diff(static::$columns, $withoutColumns));
return $query;
}
Replied to PHP Tinker Factory Error
$this->faker->file is a call to a function that copies a file from a directory to another.
it should be used as $this->faker->file($sourceDirectory = '/tmp', $targetDirectory = '/tmp', $fullPath = true)
from the code example, it looks like it's not what you are trying to accomplish