选择框将ID返回为值而不是名称

时间:2015-12-25 12:48:30

标签: php mysql laravel eloquent laravel-5.1

祝大家圣诞快乐。希望我们都过得愉快?我确定我的猜测是正确的。有人可以帮我解决这个问题吗?我不知道为什么这段代码在绑定到选择框时返回id作为值。我想要做的就是将MySQL DB的记录绑定到选择框。但是,当不使用where子句时,它是顺利的,

这是控制器:

public function create()
    {
      $listCompanies = Company::where('user_id', '=', Auth::user()->id)->orderBy('companyname', 'desc')->lists('companyname', 'id')->toArray();
        return view('product.create')->with('listCompanies', $listCompanies);
    }

这是观点:

<p>{!! Form::select('companyname', array('' => 'Select a Company') + $listCompanies) !!} </p>

当我检查返回的源页面时,我发现了这个:

<p><select name="companyname"><option value="" selected="selected">Select a Company</option><option value="1">New Company Nigeria</option><option value="2">Latest Company Nigeria</option></select> </p>

当我从selectbox中选择一个值时,它返回id,即1,这就是它添加到DB而不是实际值。

请参阅附图以获得澄清。请你非常需要你的意见。It is suppose to return this but it doesn't

This is what it actually returns. The id of the company not the name

1 个答案:

答案 0 :(得分:1)

选项值是保存的内容。如果您只想要名称,请使用lists('companyName', 'companyName')

但通常你需要外键字段中的id。你是如何建立这种关系的?