将查询生成器转换为雄辩的生成器

时间:2020-03-28 11:26:04

标签: laravel eloquent query-builder laravel-query-builder

我无法在groupby中提取结果,下面的查询生成器效果很好,但是我希望它能口才好。 我只想显示关系中的文件夹?

如何将查询生成器转换为口才?

import pandas as pd
from sklearn.metrics.pairwise import cosine_similarity

ratings = pd.read_csv('Courses.csv',index_col=0)
ratings = ratings.fillna(0)
ratings

trainset, testset = train_test_split(ratings , test_size=.25, random_state=1)
# Above line is not good, As i need to convert the ratings into DataFrame or read this csv as DataFrame
## User-based filtering
sim_options = {'name': 'cosine', 'user_based': True}
algo = KNNBasic(sim_options=sim_options)

ratings_similarity = cosine_similarity(ratings.T)

ratings_similarity_df=pd.DataFrame(ratings_similarity,index=ratings.columns,columns=ratings.columns)


print(ratings_similarity_df)

1 个答案:

答案 0 :(得分:0)

似乎Floder hasMany MatterMatter hasMany Tutorial

您可以在Folder模型中创建hasManyThrough关系,并使用whereHas查找folders

$folders = Folder::whereHas('tutorials', function($query) {
                     $query->whereDate('tutorials.start', '=', date('Y-m-d'))
                           ->where('tutorials.status','=','0');
                 })->select('title', 'id')->get();

如果您没有hasManyThrough关系,您仍然可以像这样获得folders

$folders = Folder::whereHas('maters.tutorials', function($query) {
                     $query->whereDate('tutorials.start', '=', date('Y-m-d'))
                           ->where('tutorials.status','=','0');
                 })->select('title', 'id')->get();