Ответ 1
Вы просто звоните
Blog::all();
//example usage.
$posts = Blog::all();
$posts->each(function($post) // foreach($posts as $post) { }
{
//do something
}
из любого места в вашем приложении.
Чтение документации очень поможет.
Я использую 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()
{
}
}
Вы просто звоните
Blog::all();
//example usage.
$posts = Blog::all();
$posts->each(function($post) // foreach($posts as $post) { }
{
//do something
}
из любого места в вашем приложении.
Чтение документации очень поможет.
Есть 3 способа сделать это.
1.
$entireTable = TableModelName::all();
например,
$posts = Posts::get();
поставить эту строку перед классом в контроллере
использовать Освещение\Поддержка\Фасады\БД; // это импортирует фасад БД в ваш класс контроллера
Сейчас в классе
$posts = DB::table('posts')->get(); // it will get the entire table
поставить эту строку перед классом в контроллере
То же импортировать фасад БД, как метод 2
Сейчас в контроллере
$posts = DB::select('SELECT * FROM posts');
перейдите к своему контроллеру, напишите это в функции
public function index()
{
$posts = \App\Post::all();
return view('yourview', ['posts' => $posts]);
}
чтобы показать это
@foreach($posts as $post)
{{ $post->yourColumnName }}
@endforeach
Ну, чтобы сделать это с красноречивым, вы бы сделали:
Blog:all();
Из вашей модели вы делаете:
return DB::table('posts')->get();
Если вы хотите получить все записи, но заказанные через какое-либо поле (-ы), все() не будут работать, вам придется выпустить:
MyModel::orderBy('field1', 'desc')->orderBy('field2')->get();
Как получить все данные из базы данных для просмотра с помощью laravel, я надеюсь, что это решение будет полезно для новичков.
Внутри вашего контроллера
public function get(){
$types = select::all();
return view('selectview')->with('types', $types);}
Импортируйте модель данных внутри вашего контроллера, в моем приложении модель данных называется как.
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', '[email protected]');
selectview.blade.php
@foreach($types as $type)
<ul>
<li>{{ $type->name }}</li>
</ul>
@endforeach
public function getAllPosts()
{
return Blog::all();
}
Взгляните на документы, это, вероятно, первое, что они объясняют.
Это сработало для меня.
$posts = Blog::get()->all();
используя фасад БД, вы можете выполнять SQL-запросы
public function index()
{
return DB::table('table_name')->get();
}
Если ваша таблица очень большая, вы также можете обрабатывать строки с помощью "маленьких пакетов" (не все вначале) (laravel doc: Eloquent> Chunking Results)
Post::chunk(200, function($posts)
{
foreach ($posts as $post)
{
// process post here.
}
});
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);