私はページをLaravelに変換しています。 私は、どのテーブルからも選択クエリを処理するPHPスクリプト(GET)を使用していました。私がしなければならなかったのは、tableパラメーターを送信しただけで、結果が返されます。問題は、ページがこのクエリを3回実行されることであるLaravel - コントローラを複数回使用する
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use DB;
class Projects extends Controller
{
/**
* Get projects based on the table
*
* @return Response
*/
public function index($table)
{
$result = DB::select("SELECT projectid FROM `" . $table . "` WHERE isClass=1 LIMIT 10");
return view('pages.allviews', ['results' => $result]);
}
}
:
アイデアは、このようなコントローラーを持っていることでした。 コントローラが実行後にViewを作成し、コントローラ内でクエリを3回繰り返す唯一の解決方法があります。
私はそれを避けたいと思っています。コントローラがページの必要とするものを切り離し、ページに必要な時間に実行できるようにしたいと思います。一般化が鍵です。
これを行う方法はありますか?新しいコントローラーを作成せずにこの抽象化を維持しますか?
別のクラスを作成します。別のクラスを作成するには、名前空間が適切であれば、必要なときに参照することができます。 – ggdx
同じビューで3回参照する方法の例を教えてもらえますか? –
** \ path \ for \ namespace \ classname **を使用すると、** $ this-> data ['grabbed_stuff'] = classname :: method(); **次に** view( 'some.view'、$この - >データ)**。 $ grabbed_stuffはあなたのビューで利用可能になります – ggdx