簡體   English   中英

如何在laravel的下拉選項字段中顯示值?

[英]How to show value in a dropdown option field in laravel?

我有3台主機 游客visitor_types。 我想在下拉選項按鈕中顯示主機名訪問者類型 但是我對控制器路由代碼有些困惑。 我寫了下面給出的代碼,但顯示了-Undefined變量:host (視圖:C:\\ laragon \\ www \\ ves \\ resources \\ views \\ admin \\ visitor.blade.php)

Controller Code: VisitorController.php


  <?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Visitor;
use App\Host;
use App\visitorType;
use App\visitors;
use App\hosts;
use App\visitorTypes;
use App\visitor_s;

class VisitorController extends Controller
{
    public function __construct(){
        $this->middleware("auth");
    }
    // View All Visitor
public function index() {

    $visitor = Visitor::all();
    return view('admin\visitor', compact('visitor'));
}
// Taking all host data
public function optionValue() {
    $hosts = Host::all();
    return view('admin\host', compact('hosts'));
}


    Model : Visitor.php
    <?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Visitor extends Model
{
//
public function hosts(){
    return $this->belongsTo('App\Host');
}
public function visitorTypes(){

    return $this->hasMany('App\VisitorType');
}
}

Model: Host.php




  <?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Host extends Model
{
//
public function visitors(){
    return $this->hasMany('App\Visitor');
}

}

View Code: visitor.blade.php

<select class="form-control input-medium" name="host">
  @foreach($hosts as $host)
   <option value="{{ $host->name }}">{{ $host->name}}</option>
  @endforeach

Route code: web.php
Route::get('/vsistor','VisitorController@optionValue')->name('optionValue');

在訪客表HOST_IDvType_id是從主機和visitor_types表的外鍵。 那么如何在下拉按鈕中顯示來自另一個表的名稱

有兩個錯誤。

1)您發送$ host變量進行查看,但在視圖的foreach循環中將其用作$ hosts。 您可以這樣設置代碼

$hosts = host::all();
return view('admin\visitor', compact('hosts'));

2)您必須使用{{}}在視圖上打印變量。

<option value="{{ $host->name }}">{{ $host->name}}</option>

附言:實際上,模型名稱必須以大寫開頭(host :: all()-> Host :: all())

公共功能index(){

$visitor = Visitor::all();
$hosts = Host::all();
$visitorType = VisitorType::all();
return view('admin\visitor', compact('hosts','visitorType','visitor'));

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM