0

我对 Laravel 很陌生,但我当然喜欢 Laravel 4。我被困在两点 -

  • 第一个是 - 我在控制器中有一个非粗略的操作方法,它必须对两个表进行左连接并返回结果。有两个表,Employees 和 Departments。我正在尝试让所有已分配和未分配的员工在他们之间建立关联。此操作方法位于“EmployeeController”中。它被命名为“allAssignedEmployees”。我尝试了以下路由,但似乎不起作用:

    Route::resource('employees/assignedEmployees/{deptId}', 'EmployeesController@assignedEmployees');

  • 其次,我不太确定我的左连接。以下是我用谷歌搜索得到的

           $unassignedEmployees = DB::table('employee')
            ->join('department', function($join)
            {
                $join->on('department.employee_id', '=', 'employee.id');
            })
            ->where('department.id', '=', $deptId)
            ->get();
    

    显然我在 SQL 中想要的是 -select * from employee emp left join department dept on dept.employee_id = employee.id and employee.dept_id = 2

    我想到的其他未回答的相关问题是 - 如何登录 Laravel 4?尤其是 SQL 查询或一般日志语句。是否有内置的日志记录支持。

    我知道它有很多问题,但我相信答案将有助于我的学习过程,因此感谢您的时间。

4

1 回答 1

0

首先,我并不粗鲁,但您至少应该先学习文档。

现在来回答你的问题:

关于资源控制器: Route::resource('employees', 'EmployeesController');

这个单一的路由声明创建了多个路由来处理员工资源上的各种 RESTful 操作。同样,生成的控制器已经为这些操作中的每一个提供了存根方法,并带有通知您它们处理哪些 URI 和动词的注释。

资源控制器处理的动作

Verb        Path                  Action        Route Name

GET         /employees            index         employees.index
GET         /employees/create     create        employees.create
POST        /employees            store         employees.store
GET         /employees/{id}       show          employees.show
GET         /employees/{id}/edit  edit          employees.edit
PUT/PATCH   /employees/{id}       update        employees.update
DELETE      /employees/{id}       destroy       employees.destroy

因此,如果您创建了资源控制器,那么像 employees/{id} 这样的路由将由控制器的 show 方法处理。但是如果你想要特定的方法来处理,那么你必须像这样路由它 Route::get('employees/assignedEmployees/{deptId}',''EmployeesController@assignedEmployees'');

关于日志在这里阅读

于 2013-07-08T05:47:47.190 回答