の外部キーからドロップダウンを入力する適切な方法は誰でもこの問題を解決するのを助けることができますか?私は数日間間違っていました。htmlspecialchars()は、パラメータ1が文字列、配列がのLaravel 5.3であると想定しています。ここで Laravel 5.3
は(フォーム)私はちょうどこの<select class="form-control" name="category">
<?php
$stmt = $connect->prepare("SELECT * FROM categories");
$stmt->execute();
while($row = $stmt->fetch())
{
print "<option value='".$row['id']."'>".$row['name']."</option>";
}
?>
</select>
マイカテゴリーモデル
と同等の何かを達成したい{!! Form::open(['url' => '/processor']) !!}
{!! csrf_field() !!}
<div class="form-group">
{!! Form::label('make', 'Manufacturer') !!}
{!! Form::select('make', ['Intel', 'AMD', 'Apple', 'Qualcomm', 'class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('chipset', 'Chipset') !!}
{!! Form::text('chipset', ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('type', 'Type') !!}
{!! Form::text('type', ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('category', 'Category') !!}
{!! Form::select('categories', $categories, null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Add Processor', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
public function create()
{
$categories = DB::table('categories')->pluck('name', 'id');
foreach($categories as $category)
{
echo $category;
}
return view('admin.processor.create', compact('categories', $categories));
}
そして、ここが私の見解だ私のコントローラであり、
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $fillable = ['name'];
public function processor()
{
return $this->hasMany('App\Processor', 'category_id');
}
}
マイプロセッサモデル
use Illuminate\Database\Eloquent\Model;
class Processor extends Model
{
protected $fillable = ['make', 'chipset', 'type', 'category_id'];
public function category()
{
return $this->belongsTo('App\Category', 'category_id');
}
}
私は試しましたが、 "BadMethodCallException in Builder.php 2450: 未定義のメソッドを呼び出す\ Database \ Query \ Builder :: lists") –
私は自分の答えを更新しました。 –
'compact()'関数の中で第2引数として '$ categories'を渡す必要はありません。 –