[英]How to find a given value in a many-to-many relationship using Doctrine?
[英]How to view strings from a many-to-many relationship using blade
TableOne
id|Topic
1 |football
2 |Rugby
3 |Cricket
4 |Tennis
TableTwo
id|name
1 |bill
2 |tom
3 |Sally
PivotTable
id|name_id|Topic_id
1 |2 |2
2 |2 |3
3 |2 |4
4 |3 |1
5 |1 |4
首先,通過查看下面的代碼,我定義了經過身份驗證的用戶“ tom”。 從上面的表格中,我有以下代碼:
$authuser = Auth::User(); //tom
foreach ($authuser->usersubject as $chosensubjectname)
{
var_dump($chosensubjectname->name);
}
當我將其輸出到瀏覽器時,上面的代碼為我提供以下輸出:
string(5) "Rugby" string(7) "Cricket" string(6) "Tennis"
如您所見,這不是數組,因此不確定如何拆分這三組字符串。 誰能告訴我如何將其作為刀片而不是集合輸出。 我的意思是一次只講一個話題。 我只想顯示我的選擇之一。 例如“橄欖球”。 (Laravel 4.2)
順便說一下,下面的代碼定義了TableOne和TableTwo之間的多對多關系。
public function usersubject(){
return $this->belongsToMany('SubjectList', 'subjectlists_user', 'name_id', 'Topic_id');
}
提前致謝
必須以回復而非評論的方式發布。
$authuser->usersubject->toArray()
上面的代碼將為您提供對象數組而不是集合。 但是,如果要從數據庫加載這些變量,將如何取消設置變量? 如果嘗試列出選項,則用戶尚未選擇。 你可以試試看。
DB::table('SubjectList')->whereNotIn('id', array(1, 2, 3))->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.