私は2つのテーブル:users
とstudents
を持っています。これらのテーブルはフィールドで接続されている:Laravelの2番目のテーブルからreltedデータを取得する方法は?
users.id = studetns.user_id
私は要求を使用して情報を取得しよう:
$students = User::where(function ($query) use ($request) {
// Filter by name
if (($term = $request->get("name"))) {
$query->where('name', 'like', '%' . $term . '%');
$query->where('secondname', 'like', '%' . $term . '%');
}
})->with("details")->where('type', '2')->orderBy('name', 'desc')->get();
dd($students);
あなたは必見のテーブルを接続するという、with("details")
を見ることができます。
私のモデルUser
は次のとおりです。
public function details()
{
return $this->hasOne('App\Student', 'user_id', 'id');
}
私は、クエリを実行すると、私はエラーを取得する:
select * from `users` where `type` = 2 order by `name` desc)
それはname
fielsがある場合にそれが第二のテーブルに接続されていなかったことを意味します。
どのようなエラーが表示されますか? –
リクエストはフィールド名がないところで 'users'という1つのテーブルのみで動作するため、 'order clause'の' nknown column 'name'にエラーが発生します – Babaev
このカラムはどこにありますか?学生テーブルで? –