执行以下查询时:$jobs = DB::table('jobs')->with('companies:name')->where('published', 0)->get();我得到:调用未定义的方法Illuminate\Database\Query\Builder::with()。我希望我所有的作业都是published == 0,与companies name有关系。我不明白为什么这里没有定义,你们能帮我吗?
$jobs = DB::table('jobs')->with('companies:name')->where('published', 0)->get();
published == 0
companies name
gdrx4gfi1#
要使用Illuminate\Support\Facades\DB实现您想要的功能,您可以像这样做:
Illuminate\Support\Facades\DB
$jobs = DB::table('jobs') ->select('jobs.*', 'companies.name') ->join('companies', 'jobs.company_id', '=', 'companies.id') ->where('jobs.published', 0) ->get();
但是最好使用Laravel Eloquent ORM,因为它Map数据库,而不是通过查询构建器直接访问。
1条答案
按热度按时间gdrx4gfi1#
要使用
Illuminate\Support\Facades\DB
实现您想要的功能,您可以像这样做:但是最好使用Laravel Eloquent ORM,因为它Map数据库,而不是通过查询构建器直接访问。