php - 如果没有通过视图如何找到一个ID?
问题描述
我正在尝试从主题表中获取主题 ID,以便我可以将相关关键字保存到添加了关键字的主题中。我通过为我的<select>
标签分配主题 ID 的值以不同的方式添加了它,但这不是一个好习惯,因为现在我无法将主题添加到相关 ID。我需要获取主题的 ID,以便可以将主题添加到相关用户并将关键字添加到相关主题。有什么帮助吗?
这是我的观点
@section('content1')
<p>Mentor Subject:
@foreach($subjects as $s)
<li> {{ $s['subject_name'] }} <a href="">Edit</a><a href="">Delete</a>
</li>
@endforeach
</p>
<p> Specified Keywords:
@foreach($subjectKeywords as $sk)
<li> {{ $sk ['keyword_title1'] }} </li>
<li> {{ $sk ['keyword_title2'] }} </li>
<li> {{ $sk ['keyword_title3'] }} </li>
<li> {{ $sk ['keyword_title4'] }} </li>
<li> {{ $sk ['keyword_title5x'] }} </li>
@endforeach
</p>
<form class="form-horizontal" method="POST" role="form" action="/add-new-subject" >
{{ csrf_field() }}
<div class="form-group" data-rule="required">
<label>Subject Titles</label> <br/>
<select id="ddselect" name='subject_name' class="signup" required >
<option value=""> Select Subject to Monitor </option>
@foreach($subjectDetails as $s)
<option id={{ $s['id'] }} name={{ $s['id'] }} value={{
$s['id'] }}>{{ $s['subject_name'] }}</option>
@endforeach
</select>
<div class="validation"></div>
</div>
<div class="form-group">
<input type="text" name="k1" class="signup-control form" id="k1" placeholder="Keyword 1"/>
<div class="validation"></div>
<input type="text" name="k2" class="signup-control form" id="k2" placeholder="Keyword 2"/>
<div class="validation"></div>
<input type="text" name="k3" class="signup-control form" id="k3" placeholder="Keyword 3"/>
<div class="validation"></div>
</div>
<div class="form-group">
<input type="text" name="k4" class="signup-control form" id="k4" placeholder="Keyword 4"/>
<div class="validation"></div>
<input type="text" name="k5" class="signup-control form" id="k5" placeholder="Keyword 5"/>
<div class="validation"></div>
</div>
</div>
<br/>
<div class="col-xs-12">
<!-- Button -->
<button type="submit" id="submit" name="submit" class="form contact-form-button light-form-button oswald light">Select Subject</button>
</div>
</form>
@endsection
@endsection
这是我的控制器
public function showSubject() {
if(Auth::user()->id) {
$subjects = Subject::where('user_id', Auth::user()->id)->get();
$subjectDetails = Subject::all();
$subjectKeywords = SubjectKeyword::all();
return view('mentor\showSubject', compact('subjects', 'subjectDetails', 'subjectKeywords'));
}else {
Session::flash("message", "Please sign in to access this page");
return redirect('/signup');
}
// echo Auth::user()->id;
// die();
return view('mentor\showSubject');
}
public function addNewSubject() {
if(Auth::user()->id) {
$s1 = Input::get('subject_name');
$subjects = new Subject();
$subjects->user_id = Auth::user()->id;
$subjects->subject_name = $s1;
// echo $s1;
$k1 = Input::get('k1');
$k2 = Input::get('k2');
$k3 = Input::get('k3');
$k4 = Input::get('k4');
$k5 = Input::get('k5');
$sk = new SubjectKeyword();
$sk->subject_id = $s1;
$sk->user_id = Auth::user()->id;
$sk->keyword_title1 = $k1;
$sk->keyword_title2 = $k2;
$sk->keyword_title3 = $k3;
$sk->keyword_title4 = $k4;
$sk->keyword_title5 = $k5;
$sk->save();
Session::flash("message", "Your keywords are saved");
return redirect('/subjects');
}else {
Session::flash("message", "Please sign in to access this page");
return redirect('/signup');
}
}
这是我的路线
Route::get('/subjects', 'MentorController@showSubject');
Route::post('/add-new-subject', 'MentorController@addNewSubject');
我想获取主题的 ID,以便可以向主题添加相关的关键字。例如,如果用户将 CS 添加为主题,那么我将获取其 ID 并将所有关键字保存到其中。
提前致谢
解决方案
<select id="ddselect" name='subject_name' class="signup" required >
<option value=""> Select Subject to Monitor </option>
@foreach($subjectDetails as $s)
<option value={{ $s['id'] }}>{{ $s['subject_name'] }}</option>
@endforeach
</select>
//在您的控制器中,您可以通过 subject_name 获取您的 id
$s1 = Input::get('subject_name');
//after that get subject name based on that id
$sample=DB::table('tablename')->where('id',$s1)->first();
//then you can store both id and name separately
$subjects = new Subject();
$subjects->user_id = Auth::user()->id;
$subjects->subject_name = $sample->subjectname;
推荐阅读
- oracle - 粘贴到sqlplus时如何删除行号?
- node.js - 如何在 MERN 堆栈应用程序中提供 JSON 文件
- webpack - 我的捆绑包中多次包含相同的依赖项
- postgresql - 当记录数小于“限制”时,Postgres 奇怪的查询计划
- python - 如何通过输入行业名称来获取股票代码列表
- php - PHP stdClass 嵌套属性
- c++ - 为 C++ 设置 VScode,每次尝试调试时我都会被重定向到 settings.json
- swift - 实例方法 'items(cellIdentifier:cellType:)' 要求 'Model' 符合 'Sequence'
- r - loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 中的错误:
- highcharts - Highcharts中的自定义“比较”和轴范围