在laravel中使用where子句但它只返回一个值而不是一组值

id=>0 gets me no data while id=>1 gets me data having id 1. I want display all that have an id in the options box.

$companies = Company::where(['id'=>0])->get();
        $companies_dropdown = "<option selected disabled>Please select from below</option>";
        foreach($companies as $com){
            $companies_dropdown .= "<option value='".$com->id."'>".$com->name."</option>";

I am assuming that your field 'id' in table company may only be containing integers so in this case you will fetching simply as :

$companies = Company::select('id', 'name')->get();

if your company table is containing id as null then :

$companies = Company::select('id', 'name')->whereNotNull('id')->get();

If you want to fetch all the row that has an 'Id'

$companies = Company::whereNotNull('id')->get();

if you have selected IDs in your options box.

Company::whereBetween('id', array( $ids ))->get();