Feat: Назначения с несколькими курсами
✅ tags-input для курсов (чёрные бейджи) ✅ CourseSearchController API ✅ Массовое создание назначений (курсы × получатели) ✅ Обновлён create.blade.php Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Course;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CourseSearchController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$query = $request->get('q', '');
|
||||
|
||||
$courses = Course::query()
|
||||
->with('category')
|
||||
->where('title', 'like', "%{$query}%")
|
||||
->orderBy('title')
|
||||
->limit(50)
|
||||
->get()
|
||||
->map(function($course) {
|
||||
return [
|
||||
'id' => $course->id,
|
||||
'text' => $course->title . ($course->category ? " ({$course->category->name})" : ''),
|
||||
];
|
||||
});
|
||||
|
||||
return response()->json($courses);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user