fub

fub

Member Since 1 Month Ago

Experience Points
8,850
Total
Experience

1,150 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
87
Lessons
Completed
Best Reply Awards
0
Best Reply
Awards
  • start-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-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-token Created with Sketch.

    Subscriber

    Earned if you are a paying Laracasts subscriber.

  • lifer-token Created with Sketch.

    Lifer

    Earned if you have a lifetime subscription to Laracasts.

  • lara-evanghelist 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 2
8,850 XP
Jan
14
3 days ago
Activity icon

Replied to Extension Of The User Model (database Design)

The company (and contacts) are imported from an existing project. We will have an administration area to manage these data. Like a simple CRM.

Now an additional requirement came up, where a company (and their "employees"/contacts) should be able to modify some of their own data.

A pivot table is possible, but I wonder if this is the most elegant solution for this problem. The default user model has an ID field which can be the primary field, so I had hoped for a really simple solution by just extending the user model and making email nullable. There is currently no other table in our database design which links to a user. If this will be the case later, I think we will use the user_id or user_uuid as a foreign key.

Activity icon

Started a new Conversation Extension Of The User Model (database Design)

Hi,

I am trying to design a database with the following constrains:

  • A Company has many Contacts
  • A Contact has optional fields like email, telephone, ...

Now a contact of a company should be able to edit some basic company data. For this, I want to allow each contact (with an email address) to send a signed URL by email which allows him to login. Some contacts do not have an email address, which is fine (they wont be able to login).

My question is now how I should structure this. I have two ideas in my mind:

A) User model extension

Extend the User model with some basic data (telephone for example) and a foreign key to the company. Also the email field should be nullable. This model will then be my "Contact" table. I think this is the cleaner solution, but I am not sure if making the email field nullable will have any consequences later on.

https://imgur.com/a/kuqTiaF

B) Separate user model for login and contact model for contact data

Keep the User model and the Contact model separate. I know have to manage two tables with "user" data: One with the contact data and one which is reponsible for the login.

https://imgur.com/a/qdGwXP7

Any suggestions which is the simpler or more idiomatic approach here?

Thanks, robin

Dec
29
2 weeks ago
Activity icon

Replied to Testing With Session Data (withSession()) Fails

My config/session.php has this (I did not change it):

'driver' => env('SESSION_DRIVER', 'cookie'),

Thanks for the hint with array, I will use this.

Activity icon

Replied to Testing With Session Data (withSession()) Fails

I just found a fix for this by adding this to my phpunit.xml:

<server name="SESSION_DRIVER" value="file"/>

I would have guessed that laravel does this automatically when app_env is set to testing.

Activity icon

Replied to Testing With Session Data (withSession()) Fails

I dont have the Debugbar installed.

My phpunit.xml does have the same line as you posted (APP_ENV = testing).

Activity icon

Started a new Conversation Testing With Session Data (withSession()) Fails

Hi,

I'm trying to write a simple test which should make use of some session data. For a simple access controll, a guest can create an item ("Tournament") and the ID of this item is saved in the session. The user should now be able to export some data for this item. Saving the data

I am using the following code

    public function test_admin_export()
    {
        $this->withoutExceptionHandling();

        $t = factory(Tournament::class)->create();

        $this->withSession(['tournament_admin' => [$t->id]])
            ->get('/')
            ->assertOk();
    }

This will return in the following error:

1) Tests\Feature\TournamentsTest::test_admin_export
ErrorException: Trying to get property 'cookies' of non-object

/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php:69
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Session/Store.php:97
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Session/Store.php:87
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Session/Store.php:71
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Support/Manager.php:165
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php:45
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php:28
/Users/robin/development/projects/laravel/turnierbuddy/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php:15
/Users/robin/development/projects/laravel/turnierbuddy/tests/Feature/TournamentsTest.php:145

Line 145 is the line with withSession(...).

Any hint what is wrong here?

Dec
12
1 month ago
Activity icon

Commented on Sometimes Validation With Form Requests

Hey, you can use something like this:

Gate::allows('store', Project::class);

You can then add a store method in your policy which just returns true.