SentSimResource.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Http\Resources;
  3. use Illuminate\Http\Resources\Json\JsonResource;
  4. use App\Models\PaliSentence;
  5. use App\Http\Api\StudioApi;
  6. use App\Http\Api\UserApi;
  7. use App\Http\Api\ChannelApi;
  8. use App\Http\Controllers\CorpusController;
  9. class SentSimResource extends JsonResource
  10. {
  11. /**
  12. * Transform the resource into an array.
  13. *
  14. * @param \Illuminate\Http\Request $request
  15. * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
  16. */
  17. public function toArray($request)
  18. {
  19. //获取实际句子信息
  20. $sent = PaliSentence::find($this->sent2);
  21. $channelId = ChannelApi::getSysChannel('_System_Pali_VRI_');
  22. $sentOrg = [
  23. "id"=>$sent->id,
  24. "book"=> $sent->book,
  25. "para"=> $sent->paragraph,
  26. "wordStart"=> $sent->word_begin,
  27. "wordEnd"=> $sent->word_end,
  28. "editor"=> StudioApi::getById(config("app.admin.root_uuid")),
  29. "channel"=> ChannelApi::getById($channelId),
  30. "content"=>$sent->text,
  31. "html"=> "<span>{$sent->html}</span>",
  32. "role"=>"member",
  33. "created_at"=> $sent->created_at,
  34. "updated_at"=> $sent->updated_at,
  35. ];
  36. $resCount = CorpusController::sentResCount($sent->book,$sent->paragraph,$sent->word_begin,$sent->word_end);
  37. return [
  38. "id" => "{$sent->book}-{$sent->paragraph}-{$sent->word_begin}-{$sent->word_end}",
  39. "origin" => [$sentOrg],
  40. "translation" => [],
  41. "layout" => "column",
  42. "tranNum" => $resCount['tranNum'],
  43. "nissayaNum" => $resCount['nissayaNum'],
  44. "commNum" => $resCount['commNum'],
  45. "originNum" => $resCount['originNum'],
  46. "simNum" => $resCount['simNum'],
  47. ];
  48. }
  49. }