2016-04-18 8 views
-1

この非常にnoobの質問は申し訳ありません。私はほぼ1ヶ月間PHPを始めました。私はプログラミングの背景を持っていません。フレームワークを使用せずに。私の友人がプロジェクトで彼と一緒に働くことができます。これはphpを使用して、それによって構築されたフレームワークを持っていました。彼らのチームリーダーは新しいフレームワークを選ぶことに決めたので、それはlaravelでプロジェクト全体を書き直しました。幸いにも彼はまだ私がそれらに加わることを許した。私はプロジェクトの小さなものだけで作業してきました。私は彼らの仕事中に関連するデータベースに触れていません。一週間後に私は故郷に戻らなければなりませんでしたので、私はもう彼らと仕事をすることはできません。それ以来、私はlaravelのドキュメントを読んでいます。そして試したデータベース。私はクラス名やメソッド名からクエリを構築するこの雄弁を見つけました。私はとても混乱していた。しかし、私は何を探したいのか、それがどういう仕組みか分からない。私はコードをスキャンし、地獄それはあまりにも前に私があきらめていた。私はこれをどうやって作るのか眠れない。あなたの誰かが私に例を与えることができれば、これがどのように働くか、私はとても幸せになるでしょう。このLaravel Query Builder、どうやって動くのですか

User::all() 

のように呼び出されたときに、それはいくつかのデータを与える

class User extends Model 
{ 

} 

。しかし、どのように?それはPHPのこの部分ですか?私がphp mysqlについて見ているのはpdoに関するものです。このような例は見つかりません

+2

laravelには多くの「魔法」があります。接続からデータベースへ、クエリの作成まで。 Eloquentは本質的にORMです。 'all()'は 'select * from user'を呼び出すためのショートカットで、 '配列'を返します。 Laravelは本質的にフレームワークにとって自然な概念を導入しているので、最初から始めてください。 [詳細なチュートリアルのためにlaracastsをチェックしてください](https://laracasts.com/) – Mysteryos

+0

プログラミングの初心者の方は、これらの概念を理解するのが難しいかもしれません。初心者の方には、オブジェクト指向プログラミングを学び、フレームワークとMVCの基礎を学びます。私はおそらくあなたが今このすべての時間を持っていないことを知っていますが、基礎知識がないフレームワークに飛び込むことは誰にとっても難しいかもしれません – Moppo

+0

私はPHPのためにいくつかのoopを読んでいます。私がlaravelを参照するとき。私の心は行く。 「一体何?どこから来ているのですか? –

答えて

0

laravelのモデルはスネークケーステーブルにリンクされています。これは、Userモデルはusersテーブルにマップができますが、それはusersテーブル内のすべてのレコードを返しますUser:all()を使用する場合、これはあなたのモデルクラス

protected $table == "my_custom_table_name"

でこれを追加することで上書きできることを意味します。それはその下に単にselect * from usersを実行します。

all()メソッドは、拡張子model classで定義されています。 laravelが自動的にどのように機能するかを理解するためにチェックアウトすることができます。

+0

残念ながら、私はそれが拡張する方法でall()メソッドを見つけることができません。 –

+0

'all()'はIlluminateパッケージで定義されています。 ベンダー/ laravel/framework/src/Illuminate/Database/Eloquent/Model.php' –

+0

https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php# L640 –

関連する問題