如何 return 在 Laravel 中从 Controller View 上的数据库中获取特定值?

How to return a specific value from the database on View from Controller in Laravel?

我正在尝试 return 来自 AdminController 的 View(activate_id) 数据库中的特定值,但它 return 什么都没有。

web.php

Route::get('/activate-id', 'AdminController@activateId')->middleware('role:admin');

AdminController.php

public function activateId(Request $request)
{
    $by = DB::table('users')
        ->select('referrer')
        ->where('username', $request->username)
        ->first();

    return view('activate_id')->with('by', $by);
}

activate_id.blade.php

<form method="post" action="/activate-user">
    @csrf
    <div class="input-group mb-3">
        <div class="form-group">
            <input id="fuser" type="text" class="form-control" name="username" placeholder="Username">
            <p class="text-info" id="fdetails"></p>
        </div>
    </div>
    <div class="input-group mb-3">
        <div class="form-group">
            <label for="recipient-name" class="control-label">Referrer</label>
            <input type="text" class="form-control" name="by" id="recipient-name" value="{{$by}}" readonly>
        </div>
    </div>
    <div class="col-12">
        <button class="btn btn-outline-success"> Activate</button>
    </div>
</form>

从数据库出来的结果是对象,在你的例子中是$by变量,所以你需要从中提取referrer的值。

所以要解决这个问题试试这个:

 {{$by->referrer}}

希望对你有帮助