siangboon

siangboon

Developer at Kuala Lumpur, Malaysia

Member Since 4 Years Ago

Kuala Lumpur

Experience Points
239,080
Total
Experience

920 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
1640
Lessons
Completed
Best Reply Awards
94
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 48
239,080 XP
Nov
27
2 days ago
Activity icon

Replied to I Have Some Questions Regarding Following In Php

client side validation is relied on the client side media, usually internet browser, the browser can help on validation base on a pure html attributes such as min, max, required, input type an so on... but it's limited, hence javascript is the most common tool to allow you to do full validation as you like....

howerver, client side validation is not enough, it provide better user experience and it help to reduce the server load but it does not secure at all, hence server side validation is always and the most important part to protect your application....

Nov
26
3 days ago
Activity icon

Replied to Opening Hours & Time Availability

snapey suggested serialized array/json seem good enough...

Nov
25
4 days ago
Activity icon

Replied to How To Change This Error Message ?

this does not seem like a default system error message, probably you may need to trace out from the code, or search the message from all your file...

Activity icon

Replied to SQLSTATE[22007]: Invalid Datetime Format: 1292 Incorrect Datetime Value

every schema data type have it limit, in integer, string, date, datetime, timestamp and etc also... there are minimum and maximum value, in mysql, datetime* min and max values are '1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999', but timestamp range '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'.

1399-05-09 00:00:00 is less than 1970-01-01 00:00:01.000000 hence it gave you incorrect datetime value error message. For your information, timestamp value also in datetime format but does not mean it is same, datetime type and timestamp is bit different at least the min and max value is difference,

Activity icon

Replied to SQLSTATE[22007]: Invalid Datetime Format: 1292 Incorrect Datetime Value

Is the column type for start_at a datetime or timestamp?

Nov
24
5 days ago
Activity icon

Replied to Database Changed Suddenly Without Editing The .env File

try stop the web services and restart it after clearing all the view and config cache... then double check if any chances or any place use database query by specify the database and tables name...

Activity icon

Replied to SQLSTATE[42S22]: Column Not Found: 1054 Unknown Column

check your C:\xampp\htdocs\transisi\laravel-transisi\resources\views\livewire\employees\index.blade.php file, i guess that you suppose to query something like employees.companies_id instead of companies.companies_id.....

Activity icon

Replied to DateTime Vs Timestamp

i would prefer using timestamp, as it standardize the format for all, and have the timezone cater in either in additional "user_preference" table or get the local timezone of the pc.... it's more flexible to fit all different timezone case...

Activity icon

Replied to Favorites Don't Get Saved

it may out of topic, are there typo errors on

Route::resource('/favorite', FavoriteController::class);

and

->orderby('id', 'desc')->paginate(10);

Nov
22
1 week ago
Activity icon

Replied to Does Somebody Use Valet To Work With Wordpress And Astra Theme?

i guess there may some js file in the template is calling the server api, or validate the license token....

Activity icon

Awarded Best Reply on CURL Error 6: Could Not Resolve Host: Api.zoom.us

if just a local test/development, the quick fix may add the record in the hosts file

Activity icon

Replied to CURL Error 6: Could Not Resolve Host: Api.zoom.us

if just a local test/development, the quick fix may add the record in the hosts file

Nov
20
1 week ago
Activity icon

Replied to Configuration In .env To Send Mail To Corporate Mail

if the email account is newly created, your mail server may require to check the email first before allow to send.. and some other possible reasons as below:

https://stackoverflow.com/questions/53703883/laravel-mail-sending-through-smtp-server-error-503-5-5-2

Nov
19
1 week ago
Activity icon

Replied to Passing Data From One Form To Another

when your form submitted, it need to pass to controller (or route callback function), then you can assign the received data and return it back... but the ideal way is store it into database and return to the view you want with query the data you need....

Nov
18
1 week ago
Activity icon

Replied to Video Streaming For E-Learning Website

your question seem to broad to me, building a e-learning site is not simple, the question can involve a lot of questions....

but if you looking for video playback kind of control, perhaps can check out this old lessons https://laracasts.com/series/how-to-use-html5-video-and-videojs

it's is quite old, but at least can give you an idea how to handling video

Activity icon

Replied to Laracasts Improvments

to award certificate which recognized by industry it require to work with some professional education unit, this is not easy, otherwise, every experienced developers also can award certificate... even Pluralsight also need to submit their certificates....

however, Laravel already have the authorized certificate unit if you need that you can go take the exam.

https://certification.laravel.com/

anyway, Jeffrey used to have plan to have quiz for every course in the past, but after launched the first test and no more news nor update....

https://laracasts.com/discuss/channels/site-improvements/laracasts-quizzes

Nov
14
2 weeks ago
Activity icon

Replied to Font Awesome Issue

use the browser inspector to check the console for any error and the rendered image url is accesible in another tab...

by the way, the title is fontawesome but from my understanding your description is related to picture, am i misunderstanding something??

Nov
11
2 weeks ago
Activity icon

Replied to Error When I Deploy My Laravel Projet To My Serveur About Open_basedir Restriction In Effect

write permission for few folders are required

After installing Laravel, you may need to configure some permissions. Directories within the storage and the bootstrap/cache directories should be writable by your web server or Laravel will not run. If you are using the Homestead virtual machine, these permissions should already be set.

Activity icon

Replied to Which Is Best Captcha For Laravel 8

not sure whether is the best, but google recaptcha is one of the most common and reliable option....

Activity icon

Replied to 404 Not Found Laravel 6 Auth Login

did you run the migration?

Nov
09
2 weeks ago
Activity icon

Replied to How Do I Change The Mail Sender Name Using Swift Mailer In Laravel?

check the MAIL_FROM_NAME value in your .env file

Nov
06
3 weeks ago
Activity icon

Replied to The GET Method Is Not Supported For This Route. Supported Methods: POST Laravel

no nested forms... view the rendered page source code to double check the link/action in the form

Nov
02
3 weeks ago
Activity icon

Replied to Shopping Cart Database Design For "products" Table

i'm confused too... i always thought available is a boolean flag that based on quantity... perhaps someone can explain better why and when need to have both availability and quantity...

Oct
30
4 weeks ago
Activity icon

Replied to Database Structure For Events Logging

it depend, if the data need to be processed in the future such as sorting, searching, filtering, audit, etc. then store it in a proper columns format will help...

Activity icon

Replied to How To Switch Php Versions On Mac Catalina?

the idea is same... and i read some posts, the steps are quite simple with using homebrew...

https://www.markhesketh.com/switching-multiple-php-versions-on-macos/

the openssl error is due to some older compatibility issue, this should fix: https://stackoverflow.com/questions/59006602/dyld-library-not-loaded-usr-local-opt-openssl-lib-libssl-1-0-0-dylib

Activity icon

Replied to How To Switch Php Versions On Mac Catalina?

there can only have one version running at your environment at a time but you can have multiple version sit in your system and use it, by executing php with specifying the actual full path of the php

for example, my system running php 7.4, whenever i want to have php 5.6 i will just run c:\php\php56\php instead of just php... I'm using Windows but i believe it work the same way in other platform as well...

you also can setup multiple virtual hosts in your apache or web server with different php version...

Oct
29
1 month ago
Activity icon

Replied to A Better Way To Count Post Views Instead Of Making A Table With Millions Of Rows?

if it is not necessary to list out all the users then i think the simplest way is have multiple columns for total view, last 24 hours total view etc.... each solution also has it pros and cons, either millions users' read update each post read count or have a schedule to to sort out the total view count for all time, last 24 hours, last month and so on... time every single post....

Oct
28
1 month ago
Activity icon

Replied to A Better Way To Count Post Views Instead Of Making A Table With Millions Of Rows?

you can have a column or even a statistics table to store the value by increase the number each read hit...

by the way, why do you need a millions rows table to get the total number of post views???

Oct
27
1 month ago
Activity icon

Replied to Failed To Load Resource: The Server Responded With A Status Of 412 ()

perhaps try exact samething but with different file type show the way/code you fetch may help other to understand your issue easier...

Activity icon

Commented on Livewire File Uploads To Amazon S3

trying to follow and practice it since episode 1... but now feel like it's getting not practice friendly for me... will just continue watch to learn...

Activity icon

Replied to 404 Error When Accessing Route

yes, it works when i remove Route::get('/{invoice}', '[email protected]_test_form')->name('laboratory.retail.show-tests-form');

if disabled the route will work mean that the high possibility is that nothing wrong with the controller nor view, but route....

perhaps you should read through and understand the suggested way and test it out again and answer carefully...

Activity icon

Replied to The GET Method Is Not Supported For This Route. Supported Methods: HEAD.

it's possible to create more than one virtual host with same hostname by using different ports...

Oct
26
1 month ago
Activity icon

Replied to How To Use Laravel Sms Notification

to learn laravel, laracast has some free lessons.

https://laracasts.com/series/laravel-6-from-scratch

for sms notification, can use 3rd party services...

https://www.twilio.com/docs/notify/quickstart/sms

Activity icon

Replied to How To Make A Subdomain Like Sa.domain.com And Display Specific Data On It ? PHP

overlook the last 2 words...

still, allow user to select their own region/country may be more preferable for me...

Activity icon

Replied to Create Factory Using Faker, Where One Field Depends On The Value Of Another.

https://laravel.com/docs/8.x/database-testing#relationships-within-definition

use App\Models\User;

/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
   return [
       'user_id' => User::factory(),
       'title' => $this->faker->title,
        'content' => $this->faker->paragraph,
    ];
}
Activity icon

Replied to Pluck A Collection Relationship

have you try

'data' => $this->collection['tags']
Oct
25
1 month ago
Activity icon

Replied to About Delete Function , And Make A Logic

in your modal you need to make sure the <form> have the @method('DELETE')

Activity icon

Replied to What Laravel IDEs Has The Most Magics?

what kind of magics??

Activity icon

Replied to How To Make A Subdomain Like Sa.domain.com And Display Specific Data On It ? PHP

Laravel do have Subdomain Routing https://laravel.com/docs/8.x/routing#route-group-subdomain-routing

But, creating a new or updating existing subdomain will involve DNS record changes and it will take from hour up to 72 hours to propagation to all the world...

i think i would prefer to use middleware to update the region/country and store it in session or somewhere to filter the data without touching the dns part...

Activity icon

Replied to Joining Table From Different Datatbase

Are you able to get result successfully??

i think i saw someone join multiple db servers together in mssql (db level) so that they can query both databases in a single statement if not mistaken but I always think that query can only execute to 1 database connection at once time in application level perhaps i'm may wrong...

Oct
24
1 month ago
Activity icon

Replied to How Can I Get The Percentage Of Discount Between 2 Prices In Controller

if you think it is related to your model, then just create a function and put your calculation works in that model and return the result.. so next time you can simply call $product->discount() but if you think this is applicable to multiple models then you can consider use trait or global helper function... ,

Oct
23
1 month ago
Activity icon

Commented on Upgrade The IGDB API To V4

for those who hit error like below:

BadMethodCallException Method Illuminate\Http\Client\PendingRequest::withBody does not exist.

just run the command

composer update
Activity icon

Replied to How Can I Get The Percentage Of Discount Between 2 Prices In Controller

you may use rounding method https://www.w3schools.com/php/func_math_round.asp

or number formatting https://www.php.net/manual/en/function.number-format.php

it may more convenience to create as a method in the model class or have a dedicated class if you need to call this repeatedly

Oct
22
1 month ago
Oct
21
1 month ago
Activity icon

Replied to Its About Count()

you may try something like below group them so that you get an array of counts:

$users = DB::table('users')
                     ->select(DB::raw('count(*) as user_count, status'))
                     ->where('status', '<>', 1)
                     ->groupBy('status')
                     ->get();

Oct
17
1 month ago
Activity icon

Commented on Refactor To A BelongsToTenant Trait

To windows user,

may need to use "\\" instead

$this->assertTrue(File::exists(database_path('migrations\\'.$filename)));
Oct
14
1 month ago
Activity icon

Replied to 404 On Form Post With Laravel Collective

Route::post('/contact/sumbit', '[email protected]');

is it typo error? sumbit or submit?

try prefix the "/" on each of the action link and also the route..

Activity icon

Replied to PHP Startup: Unable To Load Dynamic Library

possible you downloaded the not compatible extension with your php? such as thread safe and non thread safe, x86 and x64...

Activity icon

Replied to Route::domain Not Working In Shared Hosting With CPanel

as what i understand, when you create a subdomain in cpanel, it will function as standalone hosting... which mean there is a documentroot at that subdomain itself handle all the request to that subdomain...

try create the "subdomains" dns record point to the same ip address without the subdomain in cpanel first...