Sélectionner tout à partir de la table avec Laravel et éloquent

J'utilise Laravel 4 pour configurer mon premier modèle pour tirer toutes les lignes d'une table appelée posts.

Dans MySQL standard je voudrais utiliser:

SELECT * FROM posts;

comment réaliser cela dans mon modèle Laravel 4?

Voir ci-dessous pour mon modèle complet code source:

<?php

class Blog extends Eloquent 
{

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

    public function getAllPosts()
    {

    }

}
16
demandé sur PdC 2014-02-20 00:34:46

8 réponses

il Vous suffit d'appeler

Blog::all();

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

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

de n'importe où dans votre application.

Lecture documentation va aider beaucoup.

39
répondu Sturm 2014-02-19 20:37:38

il y a 3 façons de faire cela.

1.

$entireTable = TablemModelName::all();

par exemple,

$posts = Posts::get(); 
  1. mettez cette ligne avant la classe dans le controller

    DB;

maintenant dans la classe

$posts = DB::table('posts')->get(); // it will get the entire table
  1. mettez cette ligne avant la classe dans le controller

    DB;

Maintenant dans le contrôleur

$posts = DB::select('SELECT * FROM posts');
12
répondu Koushik Das 2018-02-20 14:14:09

Eh bien, pour le faire avec éloquence vous feriez:

Blog:all();

à Partir de votre Modèle vous faire:

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

http://laravel.com/docs/queries

3
répondu Kolby 2014-02-19 20:39:00

allez dans votre Controller écrivez ceci dans la fonction

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

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

pour afficher

@foreach($posts as $post)
  {{ $post->yourColumnName }}
@endforeach
3
répondu Chando 2017-05-22 14:51:28

comment obtenir toutes les données de la base de données pour voir en utilisant laravel, j'espère que cette solution serait utile pour les débutants.

à l'Intérieur de votre contrôleur

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

importer le modèle de données à l'intérieur de votre contrôleur, dans mon application le modèle de données nommé select.

use App\Select;

incluant les deux mon contrôleur ressemble à quelque chose comme ceci

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

sélectionner le modèle

<?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;
}

à l'intérieur routeur

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

sélectionnez afficher.lame.php

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

    @endforeach
1
répondu poornima github 2018-03-02 07:07:47
 public function getAllPosts()
 {
   return  Blog::all();        
 }

regardez docs c'est probablement la première chose, expliquent-ils..

0
répondu Lucky Soni 2014-02-19 20:37:52

Cela a fonctionné pour moi.

$posts = Blog::get()->all();
0
répondu user2325149 2018-03-11 18:01:55

en utilisant DB façade vous pouvez effectuer des requêtes SQL

 public function index()
{
    return DB::table('table_name')->get();
}
0
répondu Guaracy A. Lima 2018-03-11 21:00:33