从Laravel和Eloquent的桌子中选择所有
Posted
tags:
篇首语:本文由小常识网(cha138.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()
{
}
}
答案
你只需打电话
Blog::all();
//example usage.
$posts = Blog::all();
$posts->each(function($post) // foreach($posts as $post) { }
{
//do something
}
来自您应用程序的任何位置
阅读documentation将有很大帮助。
另一答案
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);
另一答案
有三种方法可以做到这一点。
1.
$entireTable = TableModelName::all();
例如,
$posts = Posts::get();
- 将此行放在控制器中的类之前 使用Illuminate Support Facades DB; //这会将数据库外观导入您的控制器类
现在在课堂上
$posts = DB::table('posts')->get(); // it will get the entire table
- 将此行放在控制器中的类之前 同样导入数据库外观,如方法2
现在在控制器中
$posts = DB::select('SELECT * FROM posts');
另一答案
转到你的控制器写这个功能
public function index()
{
$posts = AppPost::all();
return view('yourview', ['posts' => $posts]);
}
为了表明它
@foreach($posts as $post)
{{ $post->yourColumnName }}
@endforeach
另一答案
好吧,要做到雄辩,你会这样做:
Blog:all();
在您的模型中,您可以:
return DB::table('posts')->get();
http://laravel.com/docs/queries
另一答案
如何使用laravel从数据库中获取所有数据,我希望这个解决方案对初学者有用。
在你的控制器内
public function get(){
$types = select::all();
return view('selectview')->with('types', $types);}
导入控制器内部的数据模型,在我的应用程序中将数据模型命名为select。
use AppSelect;
包含我的控制器看起来像这样
use AppSelect;
class SelectController extends Controller{
public function get(){
$types = select::all();
return view('selectview')->with('types', $types);}
选择模型
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
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这可能是他们解释的第一件事。
另一答案
这对我有用。
$posts = Blog::get()->all();
另一答案
使用DB facade可以执行SQL查询
public function index()
{
return DB::table('table_name')->get();
}
另一答案
如果你的表非常大,你也可以通过“小包”处理行(不是所有在oce)(laravel doc:Eloquent> Chunking Results)
Post::chunk(200, function($posts)
{
foreach ($posts as $post)
{
// process post here.
}
});
以上是关于从Laravel和Eloquent的桌子中选择所有的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Eloquent 从一个表中选择并在另一个表中有匹配项时加入第一行
Laravel - 使用 Eloquent 从连接关系模型中选择特定列