web-dev-qa-db-ja.com

LaravelおよびEloquentを使用してテーブルからすべてを選択します

Laravel 4を使用して、postsというテーブルからすべての行をプルする最初のモデルをセットアップしています。

標準のMySQLでは、次を使用します。

SELECT * FROM posts;

Laravel 4モデルでこれを実現するにはどうすればよいですか?

完全なモデルソースコードについては、以下を参照してください。

<?php

class Blog extends Eloquent 
{

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'posts';

    public function getAllPosts()
    {

    }

}
25
RSM

あなたは単に電話する

Blog::all();

//example usage.
$posts = Blog::all();

$posts->each(function($post) // foreach($posts as $post) { }
{
    //do something
}

アプリケーションのどこからでも。

ドキュメント を読むことは大いに役立ちます。

59
Sturm

3つの方法があります。

1。

$entireTable = TableModelName::all();

例えば、

$posts = Posts::get(); 
  1. この行をコントローラーのクラスの前に置きます

    se Illuminate\Support\Facades\DB; //これにより、DBファサードがコントローラークラスにインポートされます

今クラスで

$posts = DB::table('posts')->get(); // it will get the entire table
  1. この行をコントローラーのクラスの前に置きます

    方法2と同じようにDBファサードをインポートします

コントローラーで

$posts = DB::select('SELECT * FROM posts');
16
Koushik Das

あなたのコントローラーに行き、これを関数に書いてください

public function index()
{
  $posts = \App\Post::all();

  return view('yourview', ['posts' => $posts]);
}

それを表示するために

@foreach($posts as $post)
  {{ $post->yourColumnName }}
@endforeach
6
Chando

まあ、雄弁でそれを行うには、あなたがするだろう:

Blog:all();

モデル内から次のことを行います。

return DB::table('posts')->get();

http://laravel.com/docs/queries

4
Kolby

データベースからすべてのデータを取得してlaravelを使用して表示する方法は、このソリューションが初心者に役立つことを願っています。

コントローラー内部

public function get(){
        $types = select::all();
        return view('selectview')->with('types', $types);}

コントローラ内のデータモデルをインポートします。アプリケーションでは、selectという名前のデータモデルを使用します。

use App\Select;

両方を含む私のコントローラーは次のようになります

use App\Select;
class SelectController extends Controller{                             
    public function get(){
    $types = select::all();
    return view('selectview')->with('types', $types);}

モデルを選択

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Select extends Model
{
    protected $fillable = [
        'name', 'email','phone','radio1','service',
    ];


    protected $table = 'selectdata';
    public $timestamps = false;
}

内部ルーター

Route::get('/selectview', 'SelectController@get');

selectview.blade.php

@foreach($types as $type)
    <ul>
    <li>{{ $type->name }}</li>
    </ul>

    @endforeach
 public function getAllPosts()
 {
   return  Blog::all();        
 }

docs をご覧ください。これがおそらく彼らが最初に説明することです。

0
Lucky Soni

DB facade を使用すると、SQLクエリを実行できます

 public function index()
{
    return DB::table('table_name')->get();
}
0
Guaracy A. Lima
Query
// Select all data of model table
Model::all();
// Select all data of model table
Model::get();

Model::where('foo', '=', 'bar')->get();

Model::find(1);
Model::find([1, 2, 3]);
Model::findOrFail(1);
0

これは私のために働いた。

$posts = Blog::get()->all();
0
user2325149

テーブルが非常に大きい場合は、「小さなパッケージ」(すべてではない)で行を処理することもできます(laravel doc: Eloquent> Chunking Results

Post::chunk(200, function($posts)
{
    foreach ($posts as $post)
    {
        // process post here.
    }
});
0