Laravel 4 Laravel 4.1中的多对多关系得到相同的结果

Laravel 4 Laravel 4.1中的多对多关系得到相同的结果,laravel-4,return-value,table-relationships,Laravel 4,Return Value,Table Relationships,请帮助我,我目前正在从事一个房地产项目,我与Laravel 4.1的多对多关系如下表所示 表类别 餐桌服务 表1类别服务 当我使用以下查询在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 当我将

请帮助我,我目前正在从事一个房地产项目,我与Laravel 4.1的多对多关系如下表所示

表类别

餐桌服务

表1类别服务

当我使用以下查询在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 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


那么我对拉威尔做了什么错事?虽然我给出了数据库中不存在的S.id=0,但我显示了相同的S.id=1的结果。

您所说的“未更改”是什么意思?这一定不是因为一切看起来都很好,应该与使用DB::table时一样工作……我的意思是,尽管我将其id更改为sale或rent,但查询结果没有改变。在销售和租赁服务中,服务有一些不同的类别。但我可以看到,您的服务和租金与其他服务都有类别1,这就是您所说的吗?我不明白您的意思,但您知道当我将getService$c的参数设为1或2时,得到的结果是相同的。正如我预期的,结果应该有一些不同,例如,业务类别不属于租赁服务。就这样。
class Service extends  Eloquent {
    protected $fillable = ['service_types'];
    public $timestamps = false;
    public function categories() {
        return $this->belongsToMany('Category','category_service');
    }
}
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);
    }
}