Nachdem ich mein Formular zum Erstellen von Projekten verwendet habe, kann ich eine Liste der erstellten Projekte sehen (Titel (Zeichenfolge), Code (Zeichenfolge), Domänen (Dropdown-Liste), Eigentümer) (Dropdown-Liste). Statt den Namen der Domäne oder des zuvor in der Dropdown-Liste ausgewählten Eigentümers anzuzeigen, kann ich nur die ID sehen. Ich weiß nicht, wie ich das beheben kann.So zeigen Sie die Dropdown-Liste gespeicherte Daten an laravel
Hier ist meine Migration create_projects_table:
public function up()
{
Schema::create('pros', function (Blueprint $table) {
$table->increments('id', true);
$table->string('title');
$table->string('code');
$table->integer('domain_id')->unsigned();
$table->foreign('domain_id')->references('id')->on('domains');
$table->integer('owner_id')->unsigned();
$table->foreign('owner_id')->references('id')->on('owners');
table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('projects');
}
ProjectController:
public function index(Request $request)
{
//
$projects = Project::orderBy('id','DESC')->paginate(5);
return view('projects.index',compact('projects'))
->with('i', ($request->input('page', 1) - 1) * 5);
}
public function create()
{
$domains = Domaine::all('nameDomain', 'id');
$owners = Owner::all('nameOwner', 'id');
return view('projects.create', compact('domains', 'owners'));
}
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'code' => 'required',
'owner_id' => 'required',
'domain_id' => 'required'
]);
Project::create($request->all());
return redirect()->route('projects.index')
->with('success','Project created successfully');
}
public function show($id)
{
$domains = Domain::all('nameDomain', 'id');
$owners = Owner::all('nameOwner', 'id');
$project = Project::find($id);
return view('projects.show',compact('project', 'domains', 'owners'));
}
show.blade.php:
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Quartier:</strong>
{{ $pro->quartier_id }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Responsable:</strong>
{{ $pro->responsable_id }}
</div>
</div>
index.blade.php:
<!-- ........ -->
<table class="table table-bordered">
<tr>
<th>No</th>
<th>title</th>
<th>code</th>
<th>domain_id</th>
<th>owner_id</th>
<th width="280px">Action</th>
</tr>
@foreach ($projects as $key => $project)
<tr>
<td>{{ ++$i }}</td>
<td>{{ $project->title }}</td>
<td>{{ $project->code }}</td>
<td>{{ $project->domain_id}}</td>
<td>{{ $project->owner_id}}</td>
<!-- ...... -->
Project.php:
class Pro extends Model
{
//
public $fillable = ['title','code','domain_id', 'owner_id'];
}
das ist, was ich habe nach dem Hinzufügen von dd ($ projects); :
LengthAwarePaginator {#285 ▼
#total: 3
#lastPage: 1
#items: Collection {#327 ▼
#items: array:3 [▶]
}
#perPage: 5
#currentPage: 1
#path: "http://127.0.0.1/Projet_PAC/Projet_PAC/public/pros"
#query: []
#fragment: null
#pageName: "page"
}
und dann nach Zugabe von {{dd (projekt- $> Domain)}} als erste Zeile in
Domain {#339 ▼
#table: "domains"
+fillable: array:1 [▼
0 => "domain"
]
#connection: null
#primaryKey: "id"
#keyType: "int"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:4 [▶]
#original: array:4 [▼
"id" => 2
"nameDomain" => "domaine2"
"created_at" => "2017-02-01 22:55:25"
"updated_at" => "2017-02-01 22:55:25"
]
#relations: []
#hidden: []
#visible: []
#appends: []
#guarded: array:1 [▼
0 => "*"
]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
+exists: true
+wasRecentlyCreated: false
}
können Sie zeigen, was 'dd ($ project)' vor Ihrer Return-Zeile in Index-Funktion zeigt? – Onix
Sorry, ich verstehe nicht, was du von mir verlangst, kannst du das bitte mehr erklären? – Naj
nach dieser Zeile '$ projects = Project :: orderBy ('id', 'DESC') -> paginate (5);' fügen Sie in Ihrem ProjectController dieses 'dd ($ projects)' hinzu. Dann gehe zu deiner Indexseite auf deiner Webseite. Und Sie sollten in der Lage sein zu sehen, was das $ Projekt enthält, und fügen Sie es in Ihre Frage ein, damit wir es sehen können. – Onix