Owner/Senior Programmer/Project Manager at Venom Interactive

Wausau, WI

Hire Me

Member Since 1 Year Ago

Experience Points 74,580
Lessons Completed 464
Best Reply Awards 35
Best Answer
  • Start Your Engines Achievement

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • First Thousand Achievement

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • One Year Member Achievement

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • Two Year Member Achievement

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • Three Year Member Achievement

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • Four Year Member Achievement

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • Five Year Member Achievement

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • School In Session Achievement

    School In Session

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

  • Welcome To The Community Achievement

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • Full Time Learner Achievement

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • Pay It Forward Achievement

    Pay It Forward

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

  • Subscriber Achievement


    Earned if you are a paying Laracasts subscriber.

  • Lifer Achievement


    Earned if you have a lifetime subscription to Laracasts.

  • Laracasts Evangelist Achievement

    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 Achievement

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • Laracasts Veteran Achievement

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • Ten Thousand Strong Achievement

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • Laracasts Master Achievement

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • Laracasts Tutor Achievement

    Laracasts Tutor

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

  • Laracasts Sensei Achievement

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • Top 50 Achievement

    Top 50

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

17 Jan
1 day ago

cmdobueno left a reply on Laravel 5.6 - How To Authenticate API Using Sessions For Same Folder SPA?

You can turn off the token in middleware.

But yet, that is roughly what I am saying... use normal authentication, because that is what you are doing.

API is 'effectively' if not 'completed' stateless. It is kept known by tokens of one kind or another. I have never heard of using state (session authentication with an API... but I by no means an expert).

If i were you, i would keep things wrapped inside of web, because you are using these are web. That may solve all of your problems for the most part

just remember thati f you are using auth:api to change it to auth

cmdobueno left a reply on Laravel 5.6 - How To Authenticate API Using Sessions For Same Folder SPA?

If you want to do this, why are using API routes? You could just web-routes and life would be perfectly fine. You are just accessing the system with ajax/axios instead of the browser... calling this an api is wrong. Use web-routes and you will probably remove the vast majority of your issues.

cmdobueno left a reply on How To Secure My Laravel App ?

And you do not have to use laravel shift, but to be 100% honest it is probably cheaper when it comes to upgrade cost compared to doing it youself.

cmdobueno left a reply on How To Secure My Laravel App ?

Best Case:

Upgrade to php 7.2 on your server Use laravel shift ( to upgrade to laravel 5.7 Use any of those packages you would like.

Worst Case: You can not upgrade your php version so you are left with a choice: a. Stick with 4.2 (you should upgrade!) and custom code the above packages for your needs b. Use laravel shift and upgrade to the highest supported version of laravel and then custom code what you want.

I strongly advise using laravel shift to upgrade the project from 5.2 to 5.7, upgrading your php version, and being very very happy with the improvements! (And better package support!)... if you are worried about security, it is best to keep more up to date with laravel (at least be at the LTS version).

11 Jan
1 week ago

cmdobueno left a reply on Laravel To How Much Can Online User Support?

Laravel supports an infinite number of online users.

Your server configuration is the deciding factor in what you can support. IF you have a tiny little 1 cpu 1 core 1 gig of ram server running @ 10mbps then you number is considerably lower than a massive AWS cloud with load balancing and all that fun stuff running at 10gbps...

Its not laravel that decides these things, its the rest of your configuration.

10 Jan
1 week ago

cmdobueno left a reply on Location.href

So, why? Why use a button? What is the purpose of using a button that is being used like a link (a tag). Why are you not using an A tag? You are overly complicating code, and going to cause more breaking issues.... I do not understand. I mean this is quite literally stupid.

09 Jan
1 week ago

cmdobueno left a reply on Can Someone Explain Me This Error

You are using too much ram in your php.

This is a standard php error that could have been found by googling it. Literally there is no reason you should be asking this standard php question that has been answered literally a trillion times here, on google, on stack overflow... all over the place.

Either fix the code that is consuming all the ram by running what is most likely an infinite loop, or increase your memory limit in php. Im not going to tell you how to increase your memory limit... and I swear you better not post that as a question... google it.

It appears you are doing with through a mysql query. You are, as it appears, taking too many records at once, or you are infinitely looping a relation. But you provided no code, so I am guessing.

cmdobueno left a reply on Layout File In A Subdirectory?

Its not really a preferred way. Just people giving you the wrong advice.

First you do not, nor have you ever, added .blade.php to any of the @'s

Second from what I have seend, you should only ever use a single extend. You want @include.

@include is from the view root (I think the first reply said that... they had the best possible answer).

It just people either do not proof read their post very well, or are simply spreading false information.

cmdobueno left a reply on Layout File In A Subdirectory?

And this is why we need to be able to rate responses...

cmdobueno left a reply on Can Laravel Support A Massive Social Media App?

The real question here is not what laravel can do for you... it is instead what can you do for laravel?

You can very easily build a small application, and use poorly constructed relations and queries and have that application grind to a halt. (Example: Non-optimized queries not using with properly can run 10k queries... but when properly using with they can run 5... and provide identical information...).

It really really really depends on the following...

  1. Your Code...
  2. Your Server
  3. Your entire infrastructure... (load balancing... mysql clusters... the types of things)
  4. How well you can use redis or other caching tools to mitigate the sheer number of queries.

I personally feel you can build an application that can do nearly anything. The real question out there should not be can laravel scale to complete X, Y, or Z... but instead at what point does it become better to use a different framework for cost of infrastructure vs profit.

08 Jan
1 week ago

cmdobueno left a reply on Form Feedback

Dude, @davy_yg

You need to brush up on the basics of effectively everything. Its been what a year of your questions? Your questions are fine, up until you realize that in a year you havent learned anything. I am not trying to be a jerk, I am really not. I am just saying you need to watch some videos... this years worth of questions would have been explained in about 3 hours worth of the FREE videos on here or youtube. Please please please do yourself, and the rest of us a favor, and do a bit of studying.

27 Dec
3 weeks ago

cmdobueno left a reply on Change + And - Sign

@snapey ahhh hahahahahaha. Best reply ever. I mean it is true, he has been using this forum to finish his projects for at least a year now it seems.

19 Dec
4 weeks ago

cmdobueno left a reply on Add Up/Down Vote Instead Of Best Reply

I really think that would be a good idea @cronix hiding with enough downvotes. Now somebody just needs to convince the boss man.

cmdobueno left a reply on Add Up/Down Vote Instead Of Best Reply

Yes, but that is the wild world of the internet... and most places have some form of control or notifications to let a person know that the info is probably bad, or should be used carefully.

Directly allowing us to up or down vote can solve this problem...

The user's level is not a good example, you can boost your level by watching videos, and asking questions... so... this is another great example of why we need down/up voting

cmdobueno left a reply on Defining Gloabal Variables Through Helper Function Files

No. No its not. Globals are not your friend. They do have a purpose of course, but this is not their purpose.

There are lots of other things you can do:

Or use a view composer (this is probably the best)

Do not use globals here... that is very poor practice.

cmdobueno left a reply on Add Up/Down Vote Instead Of Best Reply

It is not about outdated best answers needing to be updated.

What this is about, is people that barely understand what they are doing, thinking they know the right way, spreading a plague of misinformation.

As has been stated, this community is rather well grounded, but I have noticed a very real issue, of those that actually understand the system, simply not providing feedback anymore. The rise of extremely poor answers has grown significantly over the last few months, calling them out on honestly dumb answers is highly frowned upon.

I get it, we live in a world where we need to treat everybody as if the world really cares about that them. We need to treat them like an employer would be okay with a dumb solution, and thats fine, I can let them find out the world is cold. But, without the ability signify bad solutions by the community, we are going to begin to improperly educate those that want to do things the right way.

cmdobueno left a reply on Add Up/Down Vote Instead Of Best Reply

I agree it is a positive place. Myself personally have been pushed away from using it as much as of late, lets say the last 2-3 months because I am finding less and less value in the answers being provided.

Or, an answer is so poor, I am put off from the entire thread. There is no way good way to respond, you can not really call the person out, they just ignore it, or it causes drama... and I have no need for drama.

A down-vote provides a good method to allow a person to weed out poor responses, and up-vote provides the exact opposite.

Again, maybe I am wrong, and a large part of this request comes from personal opinion, so it is possible it is not the best course of action, but I feel like we need some way to flag these bad replies.

cmdobueno left a reply on Add Up/Down Vote Instead Of Best Reply

Agreed, I do not do peoples work for them... unless they want to pay me... but I feel like being able to down vote would help to isolate the very poor responses I have been seeing lately. Responses that are not even closely related to the question posed. I am not going to throw out anything too specific because I do not want to call anybody out.

cmdobueno started a new conversation Add Up/Down Vote Instead Of Best Reply

Could it be considered to add an up/down vote to the discuss threads? Lately, I have noticed a large number of very poor replies to threads. I am not saying that people should no have input, but we need a way to better warn those coming to the forums of the poor solutions and what is considered better practice. I mean, maybe having this work with Best Reply is possible.

Basically, (and maybe it is just me), I would love to be able to mark good answers as just that, and bad answers as, well honestly bad. I think in the end it will help the community.

If anybody else has any feedback I would love to hear it.


05 Dec
1 month ago

cmdobueno left a reply on So, How Exactly Do You Get JQuery From Webpack To Work With Blade?


Glad I could convince you. That is excellent. Webpack is very helpful.

cmdobueno left a reply on So, How Exactly Do You Get JQuery From Webpack To Work With Blade?

Everybody that hates on webpack makes me laugh. Webpack is great at what it does, but does have some learning curve to it... some people just refuse to adapt to the times though...


window.$ = require('jquery');
03 Dec
1 month ago

cmdobueno left a reply on Do "something" Once A Day In Laravel

laravel task scheduler:

as with basically everything in laravel, they have made it extremely easy.

cmdobueno left a reply on Why Do I Only Get One Child Per Parent?

hahaha, you are missing the entire point... as normal.

Never did I say, nope, you cant use temp tables... or temp files... or AI to solve the problem.

What I am saying, is your answer provides very little clairity on the issue, unless somebody fully understands how to use VB... and that is not everybody.

While, yes, there are a large number of us on the forums that totally understand multiple languages, that is not everybody. They are here dealing with PHP, or JS, or whatever... I am just saying that, no matter the correctness of your answer, it is like giving somebody an answer in a different language.... because that is what your example was...

Additionally, I showed you respect by not being a condescending fool... different ideas to solve a problem are awesome... anyway... good luck.

cmdobueno left a reply on Why Do I Only Get One Child Per Parent?

No, he asked a question about about php (lets call this spanish), and you answered in VB (lets call this french).

But im not going to destroy this guys thread... so yeah... @cronix has a good enough answer.

cmdobueno left a reply on Why Do I Only Get One Child Per Parent?


@jlrdw 's response is like...

Hey whats the right to greet somebody in spanish?

And you provided them the answer in french... awesome.

30 Nov
1 month ago

cmdobueno started a new conversation API & Authentication

Alright, got a bit of an interesting question.

I have two systems, 1 is an API, the other is a frontend. I am trying to figure out how to stay logged in on the frontend system. I have given thought to using the users table, and when a user connects to the API, does their authentication, they front-end system will just 'create' a user for them and authenticate them that way. Storing the required tokens and all that.

I am just not sure if that is reasonable or not.


29 Nov
1 month ago

cmdobueno left a reply on Jeffrey’s Sublime Theme

I personally prefer phpstorm, but this is rabbit hole of person opinions, and people being super easily offended about how much better their IDE is over what everybody uses.

Kinda funny though... I still like sublime. I just like phpstorm more, and having some much out of the box is nice, at least for me. And its free... for me... so thats cool.

cmdobueno left a reply on Laravel Views Are Not Updating

I suggest this, because it is possible you are auto-loading the old classes, and this going to their old location, which is why the changes do not count.

cmdobueno left a reply on Laravel Views Are Not Updating

I would suggest composer dump-autoload

21 Nov
1 month ago

cmdobueno left a reply on Generating Of Banners Dynamically

So you want to pretend like you have people using your system? So you want to magically generate them so poor saps buy your stuff?

cmdobueno left a reply on Trying To Get Property Of Non-object

IT means you are attempting to use something of as an object, but it is not an object.


$my_item = ['foo'=>'bar'];

return $my_item->foo;


$my_item = 'foo bar';
return $my_item->foo;
20 Nov
1 month ago

cmdobueno left a reply on Side Projects???

I basically work my 8-4 job + my 6-10 job. I am slowing start my own business so I do not have to work for anybody.... but taking my time on that... no reason to rush.

19 Nov
1 month ago

cmdobueno left a reply on Simply Shop

The search bar is pretty good for this on github.

I like to type things into sometimes like the following:

Laravel Shop Laravel Shopping Cart Laravel Checkout Laravel Ecommerce

So recommend specifically searching on github.

16 Nov
2 months ago

cmdobueno left a reply on Encrypting Database Data

It all depends what data you have. What your security requirements.

I generally do not encrypt much data. Sometimes I will encrypt names or addresses because I am required too.

Remember that when encrypted there is no good way to search for that data. It will slow down queries.

15 Nov
2 months ago

cmdobueno left a reply on How To Query Entire Model For Value

It is very good advice.

I have moved away from Model::get() and towards Model::get(['id','name',...]);

There are only specific times i want all fields, and those are actually somewhat rare, example being an edit page for a user. But in all honesty, I still do not want all the users fields here... I do not really need their timestamps (created/updated_at). Additionally depending on your routing, you may not even need their ID, because this could be do via your route model binding.

It is important to understand how to best utilize sql. It was something I was extremely against (using DB or Raw queries) for a long time. I use them more and more now, but again, purpose and place are important.

cmdobueno left a reply on How To Query Entire Model For Value

Yes, mine was on a releation's sub-query for filtering, so i forgot about adding the additional fields into the select. But glad you got it all working.

cmdobueno left a reply on Help With Recursion


Can you give me an example of each variable?

$title, $continue... of this function call. I think I know what you want to do here, but I need to verify with these variables... and then I should be able to help you.

cmdobueno left a reply on Unable To Escape Html Entities

It is possible that this data is not actually html code and this is causing the issue.

cmdobueno left a reply on Help With Recursion

If you provide us a bit more meat and potatoes to what you are trying to accomplish, we may be able to help more.

There are times where recursion is actually not required and there are better ways to accomplish things.

cmdobueno left a reply on Help With Recursion

function do_this($a, $to_return = [])
    // do some stuff

    if(condition) {
               return do_this(&$a, &$to_return);

    return $to_return;

add an & before a variable in the function call... I added it to both variables as I have no clue which would be modified by the call...

cmdobueno left a reply on Laravel

This should fix the issue:

<form action='{{route('YOUR-ROUTE-NAME-HERE')}}' method='POST'>
    <input name="rowid" type="hidden" value="{{$content->rowId}}">
    <div class="input-group mb-3" style="max-width: 120px;">
        <div class="input-group-prepend"></div>
        <input name="qty" type="text" class="form-control text-center" value="1" placeholder="" aria-label="Example text with button addon" aria-describedby="button-addon1">
        <div class="input-group-append">
            <input type="submit" class="btn btn-primary" value="&plus;">

A few notes:

this is assuming your route is Route::post(--stuff--) If you are using patch/put add this after your csrf {!! method_field('patch') !!} (or put).

This should solve the issue. If you still have an issue, please let us see your route definition, as well as the form.


cmdobueno left a reply on How To Query Entire Model For Value


let me make it a bit more clear for you... i just grabbed that out of existing code.

$results = Client::query()
            ->select(\DB::raw("CONCAT(first_name,' ',last_name) AS name") )
            ->havingRaw( " name LIKE '%$request->keyword%'")

Note: You can leave out the query(), I just added that to make the rest of the lines match up easier, it is 100% valid, but a totally optional addition... i use it in my code so my -> can all be on their own line without things looking weird... it actually adds no value otherwise

Hope that helps, and as long as I have no dumb typos that should work... but let me know if it doesnt.

This above could will make it so you can have a single entry point for name allowing it to make less strict. So the above issues of multi-word names should not be an issue anymore.

14 Nov
2 months ago

cmdobueno left a reply on How To Query Entire Model For Value

$q->select(\DB::raw("CONCAT(first_name,' ',last_name) AS name") )
                              ->havingRaw(" name LIKE '%$value%' ");

cmdobueno left a reply on How To Query Entire Model For Value

You would be required to use concat on a select statement and then query that

cmdobueno left a reply on Laravel 5.7 + VueJs. Bootstrap Conflict?

Nah man the issue is in your code, not in vue.

You have an error in your code causing this... i am betting it has nothing to do with vuejs

13 Nov
2 months ago

cmdobueno left a reply on Notify On New Connection From New Device


I agree, the additional/trusted device concept is fantastic. I really like it, as it is a one time annoyance (per device), which users are totally okay with, from my experience. I do believe it is a rather elegant solution.

I would use a table as has been suggested, keeping track of the device features, it issue with using IP, is that cell phones are annoying when it comes to this, I am not well versed on if each browser has its own finger-print (they really need to give the web something like this), so we know the specific browser, but again... not my area so I am not 100% certain. Worst case, you have to use IP and user agent, but that is not horrific... just sometimes sucks on mobile phones and their mobile networks... not idea how often they switch IP addresses.

cmdobueno left a reply on Notify On New Connection From New Device

If you are worried about a hacker pretending to be a certain device and such, you are barking up the wrong tree. Everything, and I mean EVERYTHING is hackable.

Remember, they need the following to properly 'hack' you in your trusted_device land:

  1. Email/username of the site
  2. Site Password
  3. Exact device
  4. Exact IP
  5. Exact user agent signature.

The only thing this user is missing, that would make it easier is direct access to your email, and to be honest, if they have all this data, they most likely have access to your email.

So to be 100% honest, I do not see where you need to worry past this point. This is plenty of security. The saying: more security is always better, is only a half truth. You could require a pin as well as a password, you could require two factor auth, you could require login confirmation via email on every attempt... but sooner or later, you have so much security that the usablity of your site suffers. No one wants hacked, but additionally users HATE security parameters. Its the story of our lives haha. I think you have a good solid idea with trusted devices, and possibly even two factor auth... but I think you are 'safe'

cmdobueno left a reply on Found FilesMan Backdoor On My Laravel Website

Well, as is the case when a site is hacked, all you have to do is miss a single file, and it appears you have probably missed a file. No real help can be given on how to find the file... you are just kinda boned.

I would suggest, gathering up your site, and all of its files, and taking them local and going through every single file, it will be lots of fun!!!

Additionally I would suggest removing the vendor folder, and making that fresh again, (saves you a lot of crap with tones of files).

Compare your composer.json file to your back up (saying you have a clean backup). As well as your package.json if you use such a thing.

Otherwise, it will be a long, painful task. This is why being 200% certain that files such as .env can not be accessed is so vitally important. But, count it as a learning experience.

cmdobueno left a reply on Issue With Vue's Dinamic Component

first off, for fun lets imagine you spelled it dynamic. (I get it, its a stupidly spelled word)

Next lets solve this issue:

Vue.component('post-panel', require('./components/admin/PostPanel.vue'));

You are naming this computer (well creating the imaginary html tag) as <post-panel></post-panel>

and you are attempting to use it as


I would first try that and see if it might solve your issue.