我应该在哪里编写原始查询或使用查询生成器的查询,而不是在Laravel的路由文件中写入它?

时间:2018-10-30 10:43:01

标签: php laravel-5 laravel-4

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class testing extends Model
{

}

即使我只想轻松使用查询生成器,我也应该在该模型类中编写所有查询吗?

编写原始查询或使用查询生成器的良好做法是什么?

2 个答案:

答案 0 :(得分:0)

不,这不仅是与数据库进行通信的方法,而且仅仅是一种可能的解决方案。您可以使用数据库进行查询,例如

<?php
Namespace App\Http\Controllers;
use DB;
Class AbcController extends Controller{
Public function functionName(){
$data=DB::table(‘tableName’)->get();
return view(‘desiredPage’)->with(‘data’, $data);
}
}

go to the link for more laravel database query information

答案 1 :(得分:0)

您可以在模型中撰写与其他逻辑代码不同的查询或说出雄辩的语言

例如,您有AlbumController

namespace App\Http\Controllers;

use App\Album;
use App\Http\Controllers\Controller;

class AlbumController extends Controller
{
    public function index()
    {
        $albums = Album::get_albums();
        // other logical code
    }
}

Album.php中是模型

namespace App;

use Illuminate\Database\Eloquent\Model;

class Album extends Model
{
     public static function get_albums() {
          $albums = Album::get();
          return $albums;
     }
}

在您的路由文件中

Route::post('album', 'AlbumController@index');

希望你有主意!