Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

543
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!