可以在Eloquent ORM
中创建吗?
SELECT * FROM 'data'
JOIN 'notice' ON 'data'.'id_notice' = 'notice'.'id'
WHERE 'data'.'escalator'= 'yes'
AND 'data'.'floors'= '2'
AND 'data'.'color'= 'white'
AND 'notice'.'price'= '50000'
AND 'notice'.'city'= 'bardejov';
这是从过滤器中选择的(随机数)。
通知型号:
class Notice extends Eloquent {
protected $table = 'notices';
public function data() {
return $this->hasOne('data');
}
}
数据模型:
class Data extends Eloquent {
protected $table = 'data';
public $timestamps = false;
public function notice() {
return $this->belongsTo('notice', 'notice_id');
}
}
我的尝试:
$query = new Data;
foreach()
$query = $query->where('value', '=', $data['key']);
endforeach
$result = $query->paginate(5);
但是,如果值来自表格注意 - 错误:未知列...
答案 0 :(得分:1)
如果您想在Laravel中使用join,可以使用查询构建器。
DB::table('data')
->join('notice', 'data.id_notice', '=', 'notice.id')
->where('escalator', 'yes')
->where('floors', 2)
->where('color', 'white')
->where('notice.price', 50000)
->where('notice.city', 'bardejov')
->get();
http://laravel.com/docs/queries#joins
或强>
Data::join('notice', 'data.id_notice', '=', 'notice.id')
->where('escalator', 'yes')
->where('floors', 2)
->where('color', 'white')
->where('notice.price', 50000)
->where('notice.city', 'bardejov')
->get();
答案 1 :(得分:0)
您可以尝试此操作(Check Eager Load Constraints)
$data = Data::with(array('notice' => function($query)
{
$query->where('price', 50000)->where('city', 'bardejov');
}))->where('escalator', 'yes')->where('floors', 2)->where('color', 'white')->get();