【问题标题】:Laravel database and controller issuesLaravel 数据库和控制器问题
【发布时间】:2017-02-25 23:20:55
【问题描述】:

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

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>

我只能检索语言或文档。如果我评论语言或文档,另一个效果很好。我不能在同一条路线上使用两个控制器吗?

非常感谢帮助..

【问题讨论】:

  • 你还能添加getDocName函数吗?
  • 我编辑并添加了 getDocName 函数。谢谢

标签: php database laravel controller


【解决方案1】:

不,这是不可能的。您不能将两个单独的控制器绑定到单个 Route。人们甚至可以争辩说这是一种非常糟糕的做法。你可以为这个单一页面创建一个类似于 OverviewController 的东西,然后在你的控制器方法中调用这 2 个模型。

您也可以使用 Repository,在此处回答: https://stackoverflow.com/a/26092119

【讨论】:

  • 命名空间应用程序;使用应用程序\语言;使用应用\文档;类 DataRepository{ public function getData(){ return Documents::all(); } 公共函数 getAllLang(){ 返回语言::all(); } }
猜你喜欢
  • 1970-01-01
  • 2013-01-14
  • 2020-04-04
  • 2014-04-26
  • 1970-01-01
  • 2021-04-09
  • 2021-03-16
  • 2021-10-24
  • 1970-01-01
相关资源
最近更新 更多