Отображение вычислений из контроллера в виде лезвия Laravel - PullRequest
0 голосов
/ 26 февраля 2019

Я строю систему управления активами. Мне бы хотелось, чтобы в контроллере отображались следующие вычисления, которые будут отображаться в виде.

  public function depreciation()
    {

    $assets = Asset::all();

        $price = DB::table('assets')
            ->where('category_id', 1)
            ->sum('purchase_price');
        $dep = $price * 0.3333;
        $netprice = $price - $dep;

        return $netprice;

        return view('admin.assets.index')->with(['price','dep', 'netprice' => $netprice]);


}

Мой маршрут

    Route::post('assets_depreciation', ['uses' => 'Admin\AssetsController@depreciation', 'as' => 'assets.depreciation']);

Мой взгляд

 <tbody>
                @if (count($assets) > 0)
                    @foreach ($assets as $asset)
                        <tr data-entry-id="{{ $asset->id }}">
                            @can('asset_delete')
                                <td></td>
                            @endcan

                            <td field-key='title'>{{ $asset->title }}</td>
                            <td field-key='serial_number'>{{ $asset->serial_number }}</td>
                            <td field-key='barcode'>{{ $asset->barcode }}</td>
                            <td field-key='photo1'>@if($asset->photo1)<a href="{{ asset(env('UPLOAD_PATH').'/' . $asset->photo1) }}" target="_blank"><img src="{{ asset(env('UPLOAD_PATH').'/thumb/' . $asset->photo1) }}"/></a>@endif</td>
                            <td field-key='category'>{{ $asset->category->title ?? '' }}</td>
                            <td field-key='status'>{{ $asset->status->title ?? '' }}</td>
                            <td field-key='location'>{{ $asset->location->title ?? '' }}</td>
                            <td field-key='assigned_user'>{{ $asset->assigned_user->name ?? '' }}</td>
                            <td field-key='vendor'>{{ $asset->vendor->name ?? '' }}</td>
                            <td field-key='purchase_price'>{{ $asset->purchase_price }}</td>
                            <td field-key='warranty'>{{ $asset->warranty }}</td>

                            <td field-key='depreciation'>{{ $netprice }}</td>

                            <td>

Как этого достичь?

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Если вы хотите отправить price, dep и netprice в представление admin.assets.index, тогда вы можете использовать это:

public function depreciation()
{
    $assets = Asset::all();

    $price = DB::table('assets')
            ->where('category_id', 1)
            ->sum('purchase_price');
    $dep = $price * 0.3333;
    $netprice = $price - $dep;

    return view('admin.assets.index')->with(['price' => $price,'dep' => $dep, 'netprice' => $netprice]);    
}

Затем вы можете использовать эти переменные в себепросмотреть файл {{ $price }}, {{ $dep }}, {{ $netprice }}

0 голосов
/ 26 февраля 2019

Вы должны использовать запрос GET вместо POST для вашего маршрута.Это должно выглядеть следующим образом:

Route::get('assets_depreciation', ['uses' => 'Admin\AssetsController@depreciation', 
'as' => 'assets.depreciation']);

В документации Laravel приведены правильные примеры использования их компонентов инфраструктуры, вы можете проверить это здесь: Laravel / Routing .Надеюсь, это поможет!

0 голосов
/ 26 февраля 2019

Вам необходимо создать файл index.blade.php в your_project/resources/views/admin/assets/ с содержимым html-блейдов, например:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>my page</title>

    </head>
    <body>
        <div>Price: {{ $price }}</div>
        <div>Dep: {{ $dep }}</div>
        <div>Net price: {{ $netprice }}</div>
    </body>
</html>

Подробнее здесь .И удалите первый оператор return и измените последний возврат на

return view('admin.assets.index', compact('price','dep','netprice'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...