programing

Larabel 및 웅변가 표에서 모두 선택

newsource 2022. 11. 26. 08:43

Larabel 및 웅변가 표에서 모두 선택

라라벨 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
}

어플리케이션 내 어디에서나 사용할 수 있습니다.

설명서를 읽으면 많은 도움이 될 거예요.

그것을 할 수 있는 방법은 세 가지 방법이 있습니다.

1 - all() 또는 get()을 사용합니다.

$entireTable = TableModelName::all();

예:

$posts = Post::get(); // both get and all  will work here

또는

$posts = Post::all();

2 - DB 전면 사용

컨트롤러의 클래스 앞에 이 행을 배치합니다.

use Illuminate\Support\Facades\DB; // this will import the DB facade into your controller class

자, 이제 수업중

$posts = DB::table('posts')->get(); // it will get the entire table

또는 보다 역동적인 방법은-

$postTable = (new Post())->getTable(); // This will get the table name
$posts = DB::table($postTable)->get();

이 방법의 장점은 테이블 이름을 변경해도 테이블 이름을 동적으로 취득하기 때문에 에러가 반환되지 않는다는 것입니다.Postmodel. 반드시 Import 합니다.Post같은 톱 모델DB유행하다

3 - DB 파사드를 선택과 함께 사용

컨트롤러의 클래스 앞에 이 행을 배치합니다.

*Same import the DB facade like method 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();

http://laravel.com/docs/queries

larabel을 사용하여 데이터베이스에서 모든 데이터를 볼 수 있는 방법, 이 솔루션이 초보자에게 도움이 되었으면 합니다.

컨트롤러 내부

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.displaces

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

    @endforeach
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);
 public function getAllPosts()
 {
   return  Blog::all();        
 }

의사들 좀 봐 이게 아마 제일 먼저 설명될 거야

Laravel Archent에서는 컨트롤러에서 다음 쿼리를 실행하여 원하는 테이블에서 모든 데이터를 가져올 수 있습니다.

$posts = Post::all();
return view('post', compact('posts'));

또는

$posts = Post::orderBy('id')->get();
return view('post', compact('posts'));
$posts = DB::select('SELECT * FROM table_x');

또는 특정 열을 가져오려면:

$posts = DB::select('SELECT col_a, col_b, col_c FROM table_x');

이건 나한테 효과가 있었어.

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

DB 파사드를 사용하여 SQL 쿼리를 수행할 수 있습니다.

 public function index()
{
    return DB::table('table_name')->get();
}

테이블이 매우 큰 경우는, 「스몰 패키지」로 행을 처리할 수도 있습니다(모두 oce에 있는 것은 아닙니다). (larabel doc: 웅변술> 청킹 결과)

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

언급URL : https://stackoverflow.com/questions/21891815/select-all-from-table-with-laravel-and-eloquent