2

古き良きPHPで書かれたビジネスのバックエンドがあり、Laravelでやり直したいと思っていますが、ジャンプするのに問題があります.

私はたくさんのチュートリアルを読みましたが、関連するチュートリアルを見つけるのに苦労しているようです. レコードでいっぱいのデータベースがあり、最初のページでは、それらすべてをテーブルに出力したいだけです。

通常の php では、クエリを実行し、それを配列に入れてデータを解析するだけです。ビューコントローラーでそれをやろうとしましたが、ほとんど成功していません...

今のところ、データを印刷しようとしているだけで、表の形式が少しずれている可能性があります。また、ルートとすべてが機能します。

すべてが理想的な場所にセットアップされているのか、それともこれが理想的な方法なのか、私は 100% 確信しているわけではありません。

助けてくれてありがとう!

// Model:'PaymentInfo' - Database Table: 'payment_info'

Class PaymentInfo extends Eloquent
{

    public $connection = 'main';

    protected $table = 'payment_info';

    protected $primaryKey = 'order_id';

    public function getLastname()
    {
        return $this->lastname;
    }

    public function getFirstname()
    {
        return $this->firstname;
    }

    public function getBuyerEmail()
    {
        return $this->buyer_email;
    }

    public function getCountry()
    {
        return $this->country;
    }


    public function getMcGross()
    {
        return $this->mc_gross;
    }

次に、コントローラー:

class AdminController extends BaseController {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function getIndex()
    {
        return View::make('admin.index');
    }

}

最後にビュー:

@extends('master')

@section('content')

<div class="span 8 well">

    <h4>Hello {{ (Auth::user()->username) }}</h4>

</div>

<div>
    <div style="font-size:medium">
    <h1>
    <center>Recent Orders</center>
    </h1>
</div>
<div id="highstyle1">
<table border="1" cellspacing="0" cellpadding="4">
<tr>
    <th>Order #</th>
    <th>Buyer Name</th>
    <th>Email Address</th>
    <th>Country</th>
    <th>Payment</th>
    <th>Buyer Memo</th>
    <th>Order Date</th>
    <th>Status</th>
    <th>Transaction ID</th>
</tr>
<tr>
    {{ $order_id = PaymentInfo::all() }}

    @foreach ($order_id as $order)
        <td>{{ PaymentInfo::$order->lastname }}</td>
    @endforeach
</tr>
</table>
</div>

</div>

@stop
4

1 に答える 1

3

この方法では機能しないため、ビューからこれを削除します。

{{ $order_id = PaymentInfo::all() }}

そして、これはあなたの新しいコントローラかもしれません:

class AdminController extends BaseController {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function getIndex()
    {
        $order_id = PaymentInfo::all();

        return View::make('admin.index')->with('order_id', $order_id);
    }

}

また、あなたの見解では:

@foreach ($order_id as $order)
    <td>{{ $order->lastname }}</td>
@endforeach

そして、モデルに get() メソッドをすべて必要とするわけではありません。それらを取り除くだけで、問題なく$order->lastname動作します。

明確にするために:

一連の ID を返すのではなく、Payment オブジェクトのコレクション全体を返すので、次のように呼び出したほうがよいでしょう。

$orders = PaymentInfo::all();

私はあなたのためにそれを機能させるためにあなたが使っていた名前をそのままにしておきました。

于 2013-09-26T02:50:53.273 に答える