请帮助我目前正在开展一个房地产项目,并且我在Laravel 4.1上有多对多的关系表
表类别
表格服务
table category_service
当我使用以下查询在PHPMyAdmin上测试时
SELECT C.category_name
FROM Categories AS C
LEFT JOIN category_service AS CS ON CS.category_id = C.id
LEFT JOIN Services S ON S.id = CS.service_id
WHERE S.id =1
当我将 S.id 更改为 2 时结果正常,但是在Laravel上,无论我更改其id = 2,结果都保持不变。 这是我的类别类
class Category extends Eloquent {
protected $fillable = ['category_name'];
public $timestamps = false;
public function services() {
return $this->belongsToMany('Service','category_service');
}
}
和我的服务类
class Service extends Eloquent {
protected $fillable = ['service_types'];
public $timestamps = false;
public function categories() {
return $this->belongsToMany('Category','category_service');
}
}
和ServicesController
class ServicesController extends BaseController {
public function getService($c) {
//using raw query return the result unchanged
$cat = DB::raw('
SELECT C.category_name
FROM Categories AS C
LEFT JOIN category_service AS CS ON CS.category_id = C.id
LEFT JOIN Services S ON S.id = CS.service_id
WHERE S.id ='.$c
);
//using eloquent return the result unchanged
$cat = Service::with('categories')->find($c);
return View::make('members.cat')->with('cat',$cat);
}
}
预期结果应该像这张带有S.id = 1的照片
预期结果应该像这张带有S.id = 1的照片
所以我对Laravel做错了什么?我显示结果相同S.id = 1虽然我给了S.id = 0,但是数据库中没有。