where('name', '上海交通大学')->first(); $zju = University::query()->where('name', '浙江大学')->first(); $fdu = University::query()->where('name', '复旦大学')->first(); $samples = [ [ 'title' => 'Graph Neural Networks for Materials Discovery', 'authors' => 'Zhang, Li', 'school_name' => '上海交通大学', 'university_id' => $sjtu?->id, 'published_at' => '2025-11-01', 'url' => 'https://example.com/paper/gnn-materials', 'summary' => '图神经网络在材料发现中的高通量筛选方法。', 'source' => 'crawl', ], [ 'title' => 'Efficient LLM Inference on Edge Devices', 'authors' => 'Wang et al.', 'school_name' => '浙江大学', 'university_id' => $zju?->id, 'published_at' => '2026-01-01', 'url' => 'https://example.com/paper/llm-edge', 'summary' => '面向边缘端的低延迟大模型推理优化。', 'source' => 'crawl', ], [ 'title' => 'Multiscale simulation workflow for catalyst screening', 'authors' => 'Sun Wei', 'school_name' => '复旦大学', 'university_id' => $fdu?->id, 'published_at' => '2024-09-01', 'url' => 'https://example.com/paper/catalyst-screening', 'summary' => '结合多尺度模拟与机器学习排序的催化剂候选材料筛选流程。', 'source' => 'manual', ], ]; foreach ($samples as $row) { $paper = Paper::query()->firstOrCreate( ['title' => $row['title']], $row ); if ($row['source'] === 'manual' && $sjtu) { $teacher = Teacher::query() ->where('university_id', $sjtu->id) ->where('name', '张某某') ->first(); if ($teacher) { $teacher->papers()->syncWithoutDetaching([$paper->id]); } } } } }