Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

546
Visualizações
Error de relación uno a uno de Laravel, ¿no sé por qué?

Error al mostrar

Symfony\Component\HttpFoundation\Response::setContent(): El argumento n.º 1 ($contenido) debe ser del tipo ?string, Illuminate\Database\Eloquent\Relations\HasOne dado, llamado en G:\Laravel\practice-1\vendor \laravel\framework\src\Illuminate\Http\Response.php en la línea 72

Modelo de usuario

 <?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var array<int, string> */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array<int, string> */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array<string, string> */ protected $casts = [ 'email_verified_at' => 'datetime', ]; public function book() { # code... return $this->hasOne(Book::class); } }

Migración de libros

 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateBooksTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('books', function (Blueprint $table) { $table->id(); $table->integer('user_id')->unsigned(); $table->string('title'); $table->string('abut'); $table->float('amount', 8, 2); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('books'); } }
 Route::get('/user/{id}/book', function ($id) { return User::find($id)->book(); });

No tengo idea de por qué estoy viendo este error. También miré la documentación pero no se encontró ayuda.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Tus definiciones son buenas. Pero esta declaración:

 return User::find($id)->book();

devuelve un objeto Illuminate\Database\Eloquent\Relations\HasOne .

Ese no es un contenido válido para una respuesta. Intenta cambiarlo a:

 return User::find($id)->book;
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda