laravel 4 preg_replace():参数不匹配

时间:2014-04-28 12:11:34

标签: php mysql laravel

我试图在数组中存储2个不同表的值,然后在视图中显示值。我有2张桌子"汽车"和"班级"。桌面车有一个名为" class"其中包含类表和表类的id有字段" class"和" id"。我正在进行以下查询:

public function edit($id) {
    $data['values'] = DB::select('select * from cars where id = ?', array($id));
    $class = DB::select('select class from cars where id = ?', array($id));  
    $data['class']= DB::select('select class from classes where id = ?', array($class)); 
    $data['classes'] = DB::table('classes')->orderBy('class', 'asc')->distinct()->lists('class', 'id');
    return View::make('pages.edit', $data);
}

并在视野中:

<div class="form-group">
    {{ Form::label('class', 'Class', array('class'=>'control-label col-lg-4')) }}
    <div class="col-lg-8">
        {{ Form::select('class', $classes ,$class->class,array('class' => 'form-control') ) }} 
    </div>
</div>

在$ class中我想保存该特定汽车的类ID。没有内部联接,有没有其他方法可以做到这一点?它显示以下错误:

preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

1 个答案:

答案 0 :(得分:3)

// this returns array(stdClass('class'=>'classValue'))
$data['class']= DB::select('select class from classes where id = ?', array($class)); 

// so simply do this:
$classArray= DB::select('select class from classes where id = ?', array($class)); 
$data['class']= $classArray[0];