Php Laravel数据库和控制器问题

Php Laravel数据库和控制器问题,php,database,laravel,controller,Php,Database,Laravel,Controller,我正在使用Laravel5.3创建一个网站。数据库连接存在问题。我有两个称为语言和文档的独立表 当我从这些表中检索数据时,问题就发生了。 这是我在语言控制器中的代码 use App\Languages; use Illuminate\Support\Facades\DB; class LanguageController extends Controller { public function getLanName(){ $lans = Languages::all();

我正在使用Laravel5.3创建一个网站。数据库连接存在问题。我有两个称为语言和文档的独立表 当我从这些表中检索数据时,问题就发生了。 这是我在语言控制器中的代码

use App\Languages;
use Illuminate\Support\Facades\DB;
class LanguageController extends Controller {
    public function getLanName(){
        $lans = Languages::all();
        return view('index',compact('lans'));
    }
}
这是语言模型的代码

namespace App;
use Illuminate\Database\Eloquent\Model;
class Languages extends Model{
    protected  $table = 'languages';
    public $timestamps = true;
    protected  $primaryKey = 'lan_id';
}
文档控制器和模型与语言相同

namespace App\Http\Controllers;
use App\Documents;
use Illuminate\Support\Facades\DB;
class DocumentController extends Controller{
    public function getDocName(){
        $docs = Documents::all();
            return view('index',compact('docs'));

    }
}
这是我的路线和视图中的一些html:

Route::get('/',['uses' => 'DocumentController@getDocName']);
Route::get('/',['uses' => 'LanguageController@getLanName']);

        <select >
                <option  >Select Document</option>
                @foreach($docs as $doc)
                    <option value="{{$doc->docName}}">{{$doc->docName}}    </option>
                @endforeach
            </select>  
            <select>
                <option >Select Language</option>
                @foreach($lans as $lan)
                    <option value="{{$lan->language}}">{{$lan->language}}</option>
                @endforeach
        </select>
Route::get('/',['uses'=>'DocumentController@getDocName']);
路由::get('/',['uses'=>'LanguageController@getLanName']);
选择文档
@foreach($docs作为$doc)
{{$doc->docName}
@endforeach
选择语言
@foreach($lan作为$lan)
{{$lan->language}
@endforeach
我只能检索语言或文档。如果我评论语言或文档,另一个很好用。我不能在同一路线上使用两个控制器吗


非常感谢您的帮助。

不,这是不可能的。不能将两个单独的控制器绑定到一个路由。人们甚至可以说这是一种非常糟糕的做法。您可以为这个页面创建类似于OverviewController的内容,只需在控制器方法中调用这两个模型

您也可以使用存储库,回答如下:
不,这是不可能的。不能将两个单独的控制器绑定到一个路由。人们甚至可以说这是一种非常糟糕的做法。您可以为这个页面创建类似于OverviewController的内容,只需在控制器方法中调用这两个模型

您也可以使用存储库,回答如下:

您是否也可以添加
getDocName
函数?我编辑并添加了getDocName函数。谢谢你,你可以添加
getDocName
函数吗?我编辑并添加了getDocName函数。谢谢你的应用程序;使用App\语言;使用App\文档;类DataRepository{public function getData(){return Documents::all();}public function getAllLang(){return Languages::all();}}名称空间应用;使用App\语言;使用App\文档;类数据存储库{public function getData(){return Documents::all();}public function getAllLang(){return Languages::all();}